diff options
author | Joel Becker <Joel.Becker@oracle.com> | 2008-11-25 17:31:27 +0300 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2009-01-05 19:40:24 +0300 |
commit | 85eb8b73d66530bb7b931789ae7a5ec9744eed34 (patch) | |
tree | 4590be147364e0437f23a0d6bf72ccc900852eb9 /fs/ocfs2/quota.h | |
parent | 57a09a7b3d9445a17c78d544f1e49d4d7d61705a (diff) | |
download | linux-85eb8b73d66530bb7b931789ae7a5ec9744eed34.tar.xz |
ocfs2: Fix ocfs2_read_quota_block() error handling.
ocfs2_bread() has become ocfs2_read_virt_blocks(), with a prototype to
match ocfs2_read_blocks(). The quota code, converting from
ocfs2_bread(), wraps the call to ocfs2_read_virt_blocks() in
ocfs2_read_quota_block(). Unfortunately, the prototype of
ocfs2_read_quota_block() matches the old prototype of ocfs2_bread().
The problem is that ocfs2_bread() returned the buffer head, and callers
assumed that a NULL pointer was indicative of error. It wasn't. This
is why ocfs2_bread() took an int*err argument as well.
The new prototype of ocfs2_read_virt_blocks() avoids this error handling
confusion. Let's change ocfs2_read_quota_block() to match.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/quota.h')
-rw-r--r-- | fs/ocfs2/quota.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ocfs2/quota.h b/fs/ocfs2/quota.h index 04872b45b990..7365e2e08706 100644 --- a/fs/ocfs2/quota.h +++ b/fs/ocfs2/quota.h @@ -107,8 +107,8 @@ static inline int ocfs2_global_release_dquot(struct dquot *dquot) int ocfs2_lock_global_qf(struct ocfs2_mem_dqinfo *oinfo, int ex); void ocfs2_unlock_global_qf(struct ocfs2_mem_dqinfo *oinfo, int ex); -struct buffer_head *ocfs2_read_quota_block(struct inode *inode, - int block, int *err); +int ocfs2_read_quota_block(struct inode *inode, u64 v_block, + struct buffer_head **bh); extern struct dquot_operations ocfs2_quota_operations; extern struct quota_format_type ocfs2_quota_format; |