Skip to content

Commit

Permalink
ocfs2: Simplify ocfs2_read_block()
Browse files Browse the repository at this point in the history
More than 30 callers of ocfs2_read_block() pass exactly OCFS2_BH_CACHED.
Only six pass a different flag set.  Rather than have every caller care,
let's make ocfs2_read_block() take no flags and always do a cached read.
The remaining six places can call ocfs2_read_blocks() directly.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
  • Loading branch information
Joel Becker authored and Mark Fasheh committed Oct 14, 2008
1 parent 31d3307 commit 0fcaa56
Show file tree
Hide file tree
Showing 16 changed files with 55 additions and 94 deletions.
25 changes: 10 additions & 15 deletions fs/ocfs2/alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ int ocfs2_num_free_extents(struct ocfs2_super *osb,

if (last_eb_blk) {
retval = ocfs2_read_block(inode, last_eb_blk,
&eb_bh, OCFS2_BH_CACHED);
&eb_bh);
if (retval < 0) {
mlog_errno(retval);
goto bail;
Expand Down Expand Up @@ -1176,7 +1176,7 @@ static int ocfs2_find_branch_target(struct ocfs2_super *osb,
brelse(bh);
bh = NULL;

status = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, blkno, &bh);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down Expand Up @@ -1540,7 +1540,7 @@ static int __ocfs2_find_path(struct inode *inode,

brelse(bh);
bh = NULL;
ret = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, blkno, &bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down Expand Up @@ -4294,9 +4294,7 @@ static int ocfs2_figure_insert_type(struct inode *inode,
* ocfs2_figure_insert_type() and ocfs2_add_branch()
* may want it later.
*/
ret = ocfs2_read_block(inode,
ocfs2_et_get_last_eb_blk(et), &bh,
OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, ocfs2_et_get_last_eb_blk(et), &bh);
if (ret) {
mlog_exit(ret);
goto out;
Expand Down Expand Up @@ -4762,9 +4760,8 @@ static int __ocfs2_mark_extent_written(struct inode *inode,
if (path->p_tree_depth) {
struct ocfs2_extent_block *eb;

ret = ocfs2_read_block(inode,
ocfs2_et_get_last_eb_blk(et),
&last_eb_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, ocfs2_et_get_last_eb_blk(et),
&last_eb_bh);
if (ret) {
mlog_exit(ret);
goto out;
Expand Down Expand Up @@ -4921,9 +4918,8 @@ static int ocfs2_split_tree(struct inode *inode, struct ocfs2_extent_tree *et,

depth = path->p_tree_depth;
if (depth > 0) {
ret = ocfs2_read_block(inode,
ocfs2_et_get_last_eb_blk(et),
&last_eb_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, ocfs2_et_get_last_eb_blk(et),
&last_eb_bh);
if (ret < 0) {
mlog_errno(ret);
goto out;
Expand Down Expand Up @@ -5590,8 +5586,7 @@ static int ocfs2_get_truncate_log_info(struct ocfs2_super *osb,
goto bail;
}

status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh,
OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh);
if (status < 0) {
iput(inode);
mlog_errno(status);
Expand Down Expand Up @@ -6990,7 +6985,7 @@ int ocfs2_prepare_truncate(struct ocfs2_super *osb,

if (fe->id2.i_list.l_tree_depth) {
status = ocfs2_read_block(inode, le64_to_cpu(fe->i_last_eb_blk),
&last_eb_bh, OCFS2_BH_CACHED);
&last_eb_bh);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down
6 changes: 2 additions & 4 deletions fs/ocfs2/aops.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ static int ocfs2_symlink_get_block(struct inode *inode, sector_t iblock,
goto bail;
}

status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
&bh, OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down Expand Up @@ -263,8 +262,7 @@ static int ocfs2_readpage_inline(struct inode *inode, struct page *page)
BUG_ON(!PageLocked(page));
BUG_ON(!(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL));

ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh,
OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down
7 changes: 3 additions & 4 deletions fs/ocfs2/buffer_head_io.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ void ocfs2_end_buffer_io_sync(struct buffer_head *bh,

static inline int ocfs2_read_block(struct inode *inode,
u64 off,
struct buffer_head **bh,
int flags);
struct buffer_head **bh);

int ocfs2_write_block(struct ocfs2_super *osb,
struct buffer_head *bh,
Expand All @@ -54,7 +53,7 @@ int ocfs2_write_super_or_backup(struct ocfs2_super *osb,
#define OCFS2_BH_READAHEAD 8

static inline int ocfs2_read_block(struct inode *inode, u64 off,
struct buffer_head **bh, int flags)
struct buffer_head **bh)
{
int status = 0;

Expand All @@ -64,7 +63,7 @@ static inline int ocfs2_read_block(struct inode *inode, u64 off,
goto bail;
}

status = ocfs2_read_blocks(inode, off, 1, bh, flags);
status = ocfs2_read_blocks(inode, off, 1, bh, OCFS2_BH_CACHED);

bail:
return status;
Expand Down
9 changes: 3 additions & 6 deletions fs/ocfs2/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,7 @@ static struct buffer_head *ocfs2_find_entry_id(const char *name,
struct ocfs2_dinode *di;
struct ocfs2_inline_data *data;

ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh,
OCFS2_BH_CACHED);
ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down Expand Up @@ -417,8 +416,7 @@ static inline int ocfs2_delete_entry_id(handle_t *handle,
struct ocfs2_dinode *di;
struct ocfs2_inline_data *data;

ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno,
&di_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down Expand Up @@ -596,8 +594,7 @@ static int ocfs2_dir_foreach_blk_id(struct inode *inode,
struct ocfs2_inline_data *data;
struct ocfs2_dir_entry *de;

ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
&di_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh);
if (ret) {
mlog(ML_ERROR, "Unable to read inode block for dir %llu\n",
(unsigned long long)OCFS2_I(inode)->ip_blkno);
Expand Down
8 changes: 2 additions & 6 deletions fs/ocfs2/dlmglue.c
Original file line number Diff line number Diff line change
Expand Up @@ -2024,8 +2024,7 @@ static int ocfs2_inode_lock_update(struct inode *inode,
} else {
/* Boo, we have to go to disk. */
/* read bh, cast, ocfs2_refresh_inode */
status = ocfs2_read_block(inode, oi->ip_blkno,
bh, OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, oi->ip_blkno, bh);
if (status < 0) {
mlog_errno(status);
goto bail_refresh;
Expand Down Expand Up @@ -2086,10 +2085,7 @@ static int ocfs2_assign_bh(struct inode *inode,
return 0;
}

status = ocfs2_read_block(inode,
OCFS2_I(inode)->ip_blkno,
ret_bh,
OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, ret_bh);
if (status < 0)
mlog_errno(status);

Expand Down
8 changes: 3 additions & 5 deletions fs/ocfs2/extent_map.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,7 @@ static int ocfs2_last_eb_is_empty(struct inode *inode,
struct ocfs2_extent_block *eb;
struct ocfs2_extent_list *el;

ret = ocfs2_read_block(inode, last_eb_blk,
&eb_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, last_eb_blk, &eb_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down Expand Up @@ -384,7 +383,7 @@ static int ocfs2_figure_hole_clusters(struct inode *inode,

ret = ocfs2_read_block(inode,
le64_to_cpu(eb->h_next_leaf_blk),
&next_eb_bh, OCFS2_BH_CACHED);
&next_eb_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down Expand Up @@ -631,8 +630,7 @@ int ocfs2_get_clusters(struct inode *inode, u32 v_cluster,
if (ret == 0)
goto out;

ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
&di_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down
7 changes: 3 additions & 4 deletions fs/ocfs2/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -545,8 +545,7 @@ static int __ocfs2_extend_allocation(struct inode *inode, u32 logical_start,
*/
BUG_ON(mark_unwritten && !ocfs2_sparse_alloc(osb));

status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh,
OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh);
if (status < 0) {
mlog_errno(status);
goto leave;
Expand Down Expand Up @@ -1132,7 +1131,7 @@ static int ocfs2_write_remove_suid(struct inode *inode)
struct buffer_head *bh = NULL;
struct ocfs2_inode_info *oi = OCFS2_I(inode);

ret = ocfs2_read_block(inode, oi->ip_blkno, &bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(inode, oi->ip_blkno, &bh);
if (ret < 0) {
mlog_errno(ret);
goto out;
Expand All @@ -1159,7 +1158,7 @@ static int ocfs2_allocate_unwritten_extents(struct inode *inode,

if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) {
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
&di_bh, OCFS2_BH_CACHED);
&di_bh);
if (ret) {
mlog_errno(ret);
goto out;
Expand Down
4 changes: 2 additions & 2 deletions fs/ocfs2/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ static int ocfs2_read_locked_inode(struct inode *inode,
}

if (can_lock)
status = ocfs2_read_block(inode, args->fi_blkno, &bh, 0);
status = ocfs2_read_blocks(inode, args->fi_blkno, 1, &bh, 0);
else
status = ocfs2_read_blocks_sync(osb, args->fi_blkno, 1, &bh);
if (status < 0) {
Expand Down Expand Up @@ -1165,7 +1165,7 @@ struct buffer_head *ocfs2_bread(struct inode *inode,
goto fail;
}

tmperr = ocfs2_read_block(inode, p_blkno, &bh, readflags);
tmperr = ocfs2_read_blocks(inode, p_blkno, 1, &bh, readflags);
if (tmperr < 0)
goto fail;

Expand Down
2 changes: 1 addition & 1 deletion fs/ocfs2/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@ static int ocfs2_read_journal_inode(struct ocfs2_super *osb,
}
SET_INODE_JOURNAL(inode);

status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, bh, 0);
status = ocfs2_read_blocks(inode, OCFS2_I(inode)->ip_blkno, 1, bh, 0);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down
8 changes: 4 additions & 4 deletions fs/ocfs2/localalloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,8 +248,8 @@ int ocfs2_load_local_alloc(struct ocfs2_super *osb)
goto bail;
}

status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
&alloc_bh, 0);
status = ocfs2_read_blocks(inode, OCFS2_I(inode)->ip_blkno, 1,
&alloc_bh, 0);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down Expand Up @@ -459,8 +459,8 @@ int ocfs2_begin_local_alloc_recovery(struct ocfs2_super *osb,

mutex_lock(&inode->i_mutex);

status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
&alloc_bh, 0);
status = ocfs2_read_blocks(inode, OCFS2_I(inode)->ip_blkno, 1,
&alloc_bh, 0);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down
2 changes: 1 addition & 1 deletion fs/ocfs2/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -1754,7 +1754,7 @@ static int ocfs2_orphan_add(struct ocfs2_super *osb,

status = ocfs2_read_block(orphan_dir_inode,
OCFS2_I(orphan_dir_inode)->ip_blkno,
&orphan_dir_bh, OCFS2_BH_CACHED);
&orphan_dir_bh);
if (status < 0) {
mlog_errno(status);
goto leave;
Expand Down
3 changes: 1 addition & 2 deletions fs/ocfs2/resize.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,7 @@ int ocfs2_group_extend(struct inode * inode, int new_clusters)
lgd_blkno = ocfs2_which_cluster_group(main_bm_inode,
first_new_cluster - 1);

ret = ocfs2_read_block(main_bm_inode, lgd_blkno, &group_bh,
OCFS2_BH_CACHED);
ret = ocfs2_read_block(main_bm_inode, lgd_blkno, &group_bh);
if (ret < 0) {
mlog_errno(ret);
goto out_unlock;
Expand Down
2 changes: 1 addition & 1 deletion fs/ocfs2/slot_map.c
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ static int ocfs2_map_slot_buffers(struct ocfs2_super *osb,
(unsigned long long)blkno);

bh = NULL; /* Acquire a fresh bh */
status = ocfs2_read_block(si->si_inode, blkno, &bh, 0);
status = ocfs2_read_blocks(si->si_inode, blkno, 1, &bh, 0);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down
11 changes: 4 additions & 7 deletions fs/ocfs2/suballoc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1172,8 +1172,7 @@ static int ocfs2_search_one_group(struct ocfs2_alloc_context *ac,
struct ocfs2_group_desc *gd;
struct inode *alloc_inode = ac->ac_inode;

ret = ocfs2_read_block(alloc_inode, gd_blkno,
&group_bh, OCFS2_BH_CACHED);
ret = ocfs2_read_block(alloc_inode, gd_blkno, &group_bh);
if (ret < 0) {
mlog_errno(ret);
return ret;
Expand Down Expand Up @@ -1244,7 +1243,7 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac,

status = ocfs2_read_block(alloc_inode,
le64_to_cpu(cl->cl_recs[chain].c_blkno),
&group_bh, OCFS2_BH_CACHED);
&group_bh);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down Expand Up @@ -1273,8 +1272,7 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac,
prev_group_bh = group_bh;
group_bh = NULL;
status = ocfs2_read_block(alloc_inode,
next_group, &group_bh,
OCFS2_BH_CACHED);
next_group, &group_bh);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down Expand Up @@ -1795,8 +1793,7 @@ int ocfs2_free_suballoc_bits(handle_t *handle,
(unsigned long long)OCFS2_I(alloc_inode)->ip_blkno, count,
(unsigned long long)bg_blkno, start_bit);

status = ocfs2_read_block(alloc_inode, bg_blkno, &group_bh,
OCFS2_BH_CACHED);
status = ocfs2_read_block(alloc_inode, bg_blkno, &group_bh);
if (status < 0) {
mlog_errno(status);
goto bail;
Expand Down
5 changes: 1 addition & 4 deletions fs/ocfs2/symlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,7 @@ static char *ocfs2_fast_symlink_getlink(struct inode *inode,

mlog_entry_void();

status = ocfs2_read_block(inode,
OCFS2_I(inode)->ip_blkno,
bh,
OCFS2_BH_CACHED);
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, bh);
if (status < 0) {
mlog_errno(status);
link = ERR_PTR(status);
Expand Down
Loading

0 comments on commit 0fcaa56

Please sign in to comment.