ocfs2: Simplify ocfs2_read_block()
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>
This commit is contained in:
@@ -706,7 +706,7 @@ int ocfs2_num_free_extents(struct ocfs2_super *osb,
|
|||||||
|
|
||||||
if (last_eb_blk) {
|
if (last_eb_blk) {
|
||||||
retval = ocfs2_read_block(inode, last_eb_blk,
|
retval = ocfs2_read_block(inode, last_eb_blk,
|
||||||
&eb_bh, OCFS2_BH_CACHED);
|
&eb_bh);
|
||||||
if (retval < 0) {
|
if (retval < 0) {
|
||||||
mlog_errno(retval);
|
mlog_errno(retval);
|
||||||
goto bail;
|
goto bail;
|
||||||
@@ -1176,7 +1176,7 @@ static int ocfs2_find_branch_target(struct ocfs2_super *osb,
|
|||||||
brelse(bh);
|
brelse(bh);
|
||||||
bh = NULL;
|
bh = NULL;
|
||||||
|
|
||||||
status = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
|
status = ocfs2_read_block(inode, blkno, &bh);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
@@ -1540,7 +1540,7 @@ static int __ocfs2_find_path(struct inode *inode,
|
|||||||
|
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
bh = NULL;
|
bh = NULL;
|
||||||
ret = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
|
ret = ocfs2_read_block(inode, blkno, &bh);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -4294,9 +4294,7 @@ static int ocfs2_figure_insert_type(struct inode *inode,
|
|||||||
* ocfs2_figure_insert_type() and ocfs2_add_branch()
|
* ocfs2_figure_insert_type() and ocfs2_add_branch()
|
||||||
* may want it later.
|
* may want it later.
|
||||||
*/
|
*/
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, ocfs2_et_get_last_eb_blk(et), &bh);
|
||||||
ocfs2_et_get_last_eb_blk(et), &bh,
|
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_exit(ret);
|
mlog_exit(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -4762,9 +4760,8 @@ static int __ocfs2_mark_extent_written(struct inode *inode,
|
|||||||
if (path->p_tree_depth) {
|
if (path->p_tree_depth) {
|
||||||
struct ocfs2_extent_block *eb;
|
struct ocfs2_extent_block *eb;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, ocfs2_et_get_last_eb_blk(et),
|
||||||
ocfs2_et_get_last_eb_blk(et),
|
&last_eb_bh);
|
||||||
&last_eb_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_exit(ret);
|
mlog_exit(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -4921,9 +4918,8 @@ static int ocfs2_split_tree(struct inode *inode, struct ocfs2_extent_tree *et,
|
|||||||
|
|
||||||
depth = path->p_tree_depth;
|
depth = path->p_tree_depth;
|
||||||
if (depth > 0) {
|
if (depth > 0) {
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, ocfs2_et_get_last_eb_blk(et),
|
||||||
ocfs2_et_get_last_eb_blk(et),
|
&last_eb_bh);
|
||||||
&last_eb_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -5590,8 +5586,7 @@ static int ocfs2_get_truncate_log_info(struct ocfs2_super *osb,
|
|||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh,
|
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
iput(inode);
|
iput(inode);
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
@@ -6990,7 +6985,7 @@ int ocfs2_prepare_truncate(struct ocfs2_super *osb,
|
|||||||
|
|
||||||
if (fe->id2.i_list.l_tree_depth) {
|
if (fe->id2.i_list.l_tree_depth) {
|
||||||
status = ocfs2_read_block(inode, le64_to_cpu(fe->i_last_eb_blk),
|
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) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|||||||
@@ -68,8 +68,7 @@ static int ocfs2_symlink_get_block(struct inode *inode, sector_t iblock,
|
|||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh);
|
||||||
&bh, OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
@@ -263,8 +262,7 @@ static int ocfs2_readpage_inline(struct inode *inode, struct page *page)
|
|||||||
BUG_ON(!PageLocked(page));
|
BUG_ON(!PageLocked(page));
|
||||||
BUG_ON(!(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL));
|
BUG_ON(!(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL));
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh,
|
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -33,8 +33,7 @@ void ocfs2_end_buffer_io_sync(struct buffer_head *bh,
|
|||||||
|
|
||||||
static inline int ocfs2_read_block(struct inode *inode,
|
static inline int ocfs2_read_block(struct inode *inode,
|
||||||
u64 off,
|
u64 off,
|
||||||
struct buffer_head **bh,
|
struct buffer_head **bh);
|
||||||
int flags);
|
|
||||||
|
|
||||||
int ocfs2_write_block(struct ocfs2_super *osb,
|
int ocfs2_write_block(struct ocfs2_super *osb,
|
||||||
struct buffer_head *bh,
|
struct buffer_head *bh,
|
||||||
@@ -54,7 +53,7 @@ int ocfs2_write_super_or_backup(struct ocfs2_super *osb,
|
|||||||
#define OCFS2_BH_READAHEAD 8
|
#define OCFS2_BH_READAHEAD 8
|
||||||
|
|
||||||
static inline int ocfs2_read_block(struct inode *inode, u64 off,
|
static inline int ocfs2_read_block(struct inode *inode, u64 off,
|
||||||
struct buffer_head **bh, int flags)
|
struct buffer_head **bh)
|
||||||
{
|
{
|
||||||
int status = 0;
|
int status = 0;
|
||||||
|
|
||||||
@@ -64,7 +63,7 @@ static inline int ocfs2_read_block(struct inode *inode, u64 off,
|
|||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = ocfs2_read_blocks(inode, off, 1, bh, flags);
|
status = ocfs2_read_blocks(inode, off, 1, bh, OCFS2_BH_CACHED);
|
||||||
|
|
||||||
bail:
|
bail:
|
||||||
return status;
|
return status;
|
||||||
|
|||||||
@@ -188,8 +188,7 @@ static struct buffer_head *ocfs2_find_entry_id(const char *name,
|
|||||||
struct ocfs2_dinode *di;
|
struct ocfs2_dinode *di;
|
||||||
struct ocfs2_inline_data *data;
|
struct ocfs2_inline_data *data;
|
||||||
|
|
||||||
ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh,
|
ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -417,8 +416,7 @@ static inline int ocfs2_delete_entry_id(handle_t *handle,
|
|||||||
struct ocfs2_dinode *di;
|
struct ocfs2_dinode *di;
|
||||||
struct ocfs2_inline_data *data;
|
struct ocfs2_inline_data *data;
|
||||||
|
|
||||||
ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno,
|
ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh);
|
||||||
&di_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -596,8 +594,7 @@ static int ocfs2_dir_foreach_blk_id(struct inode *inode,
|
|||||||
struct ocfs2_inline_data *data;
|
struct ocfs2_inline_data *data;
|
||||||
struct ocfs2_dir_entry *de;
|
struct ocfs2_dir_entry *de;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh);
|
||||||
&di_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog(ML_ERROR, "Unable to read inode block for dir %llu\n",
|
mlog(ML_ERROR, "Unable to read inode block for dir %llu\n",
|
||||||
(unsigned long long)OCFS2_I(inode)->ip_blkno);
|
(unsigned long long)OCFS2_I(inode)->ip_blkno);
|
||||||
|
|||||||
@@ -2024,8 +2024,7 @@ static int ocfs2_inode_lock_update(struct inode *inode,
|
|||||||
} else {
|
} else {
|
||||||
/* Boo, we have to go to disk. */
|
/* Boo, we have to go to disk. */
|
||||||
/* read bh, cast, ocfs2_refresh_inode */
|
/* read bh, cast, ocfs2_refresh_inode */
|
||||||
status = ocfs2_read_block(inode, oi->ip_blkno,
|
status = ocfs2_read_block(inode, oi->ip_blkno, bh);
|
||||||
bh, OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail_refresh;
|
goto bail_refresh;
|
||||||
@@ -2086,10 +2085,7 @@ static int ocfs2_assign_bh(struct inode *inode,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = ocfs2_read_block(inode,
|
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, ret_bh);
|
||||||
OCFS2_I(inode)->ip_blkno,
|
|
||||||
ret_bh,
|
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
|
|
||||||
|
|||||||
@@ -293,8 +293,7 @@ static int ocfs2_last_eb_is_empty(struct inode *inode,
|
|||||||
struct ocfs2_extent_block *eb;
|
struct ocfs2_extent_block *eb;
|
||||||
struct ocfs2_extent_list *el;
|
struct ocfs2_extent_list *el;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, last_eb_blk,
|
ret = ocfs2_read_block(inode, last_eb_blk, &eb_bh);
|
||||||
&eb_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -384,7 +383,7 @@ static int ocfs2_figure_hole_clusters(struct inode *inode,
|
|||||||
|
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode,
|
||||||
le64_to_cpu(eb->h_next_leaf_blk),
|
le64_to_cpu(eb->h_next_leaf_blk),
|
||||||
&next_eb_bh, OCFS2_BH_CACHED);
|
&next_eb_bh);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -631,8 +630,7 @@ int ocfs2_get_clusters(struct inode *inode, u32 v_cluster,
|
|||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh);
|
||||||
&di_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -545,8 +545,7 @@ static int __ocfs2_extend_allocation(struct inode *inode, u32 logical_start,
|
|||||||
*/
|
*/
|
||||||
BUG_ON(mark_unwritten && !ocfs2_sparse_alloc(osb));
|
BUG_ON(mark_unwritten && !ocfs2_sparse_alloc(osb));
|
||||||
|
|
||||||
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh,
|
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto leave;
|
goto leave;
|
||||||
@@ -1132,7 +1131,7 @@ static int ocfs2_write_remove_suid(struct inode *inode)
|
|||||||
struct buffer_head *bh = NULL;
|
struct buffer_head *bh = NULL;
|
||||||
struct ocfs2_inode_info *oi = OCFS2_I(inode);
|
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) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -1159,7 +1158,7 @@ static int ocfs2_allocate_unwritten_extents(struct inode *inode,
|
|||||||
|
|
||||||
if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) {
|
if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) {
|
||||||
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
||||||
&di_bh, OCFS2_BH_CACHED);
|
&di_bh);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -461,7 +461,7 @@ static int ocfs2_read_locked_inode(struct inode *inode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (can_lock)
|
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
|
else
|
||||||
status = ocfs2_read_blocks_sync(osb, args->fi_blkno, 1, &bh);
|
status = ocfs2_read_blocks_sync(osb, args->fi_blkno, 1, &bh);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
@@ -1165,7 +1165,7 @@ struct buffer_head *ocfs2_bread(struct inode *inode,
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmperr = ocfs2_read_block(inode, p_blkno, &bh, readflags);
|
tmperr = ocfs2_read_blocks(inode, p_blkno, 1, &bh, readflags);
|
||||||
if (tmperr < 0)
|
if (tmperr < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
|||||||
@@ -1134,7 +1134,7 @@ static int ocfs2_read_journal_inode(struct ocfs2_super *osb,
|
|||||||
}
|
}
|
||||||
SET_INODE_JOURNAL(inode);
|
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) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ int ocfs2_load_local_alloc(struct ocfs2_super *osb)
|
|||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
status = ocfs2_read_blocks(inode, OCFS2_I(inode)->ip_blkno, 1,
|
||||||
&alloc_bh, 0);
|
&alloc_bh, 0);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
@@ -459,7 +459,7 @@ int ocfs2_begin_local_alloc_recovery(struct ocfs2_super *osb,
|
|||||||
|
|
||||||
mutex_lock(&inode->i_mutex);
|
mutex_lock(&inode->i_mutex);
|
||||||
|
|
||||||
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
|
status = ocfs2_read_blocks(inode, OCFS2_I(inode)->ip_blkno, 1,
|
||||||
&alloc_bh, 0);
|
&alloc_bh, 0);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
|
|||||||
@@ -1754,7 +1754,7 @@ static int ocfs2_orphan_add(struct ocfs2_super *osb,
|
|||||||
|
|
||||||
status = ocfs2_read_block(orphan_dir_inode,
|
status = ocfs2_read_block(orphan_dir_inode,
|
||||||
OCFS2_I(orphan_dir_inode)->ip_blkno,
|
OCFS2_I(orphan_dir_inode)->ip_blkno,
|
||||||
&orphan_dir_bh, OCFS2_BH_CACHED);
|
&orphan_dir_bh);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto leave;
|
goto leave;
|
||||||
|
|||||||
@@ -332,8 +332,7 @@ int ocfs2_group_extend(struct inode * inode, int new_clusters)
|
|||||||
lgd_blkno = ocfs2_which_cluster_group(main_bm_inode,
|
lgd_blkno = ocfs2_which_cluster_group(main_bm_inode,
|
||||||
first_new_cluster - 1);
|
first_new_cluster - 1);
|
||||||
|
|
||||||
ret = ocfs2_read_block(main_bm_inode, lgd_blkno, &group_bh,
|
ret = ocfs2_read_block(main_bm_inode, lgd_blkno, &group_bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
|
|||||||
@@ -403,7 +403,7 @@ static int ocfs2_map_slot_buffers(struct ocfs2_super *osb,
|
|||||||
(unsigned long long)blkno);
|
(unsigned long long)blkno);
|
||||||
|
|
||||||
bh = NULL; /* Acquire a fresh bh */
|
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) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|||||||
@@ -1172,8 +1172,7 @@ static int ocfs2_search_one_group(struct ocfs2_alloc_context *ac,
|
|||||||
struct ocfs2_group_desc *gd;
|
struct ocfs2_group_desc *gd;
|
||||||
struct inode *alloc_inode = ac->ac_inode;
|
struct inode *alloc_inode = ac->ac_inode;
|
||||||
|
|
||||||
ret = ocfs2_read_block(alloc_inode, gd_blkno,
|
ret = ocfs2_read_block(alloc_inode, gd_blkno, &group_bh);
|
||||||
&group_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1244,7 +1243,7 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac,
|
|||||||
|
|
||||||
status = ocfs2_read_block(alloc_inode,
|
status = ocfs2_read_block(alloc_inode,
|
||||||
le64_to_cpu(cl->cl_recs[chain].c_blkno),
|
le64_to_cpu(cl->cl_recs[chain].c_blkno),
|
||||||
&group_bh, OCFS2_BH_CACHED);
|
&group_bh);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
@@ -1273,8 +1272,7 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac,
|
|||||||
prev_group_bh = group_bh;
|
prev_group_bh = group_bh;
|
||||||
group_bh = NULL;
|
group_bh = NULL;
|
||||||
status = ocfs2_read_block(alloc_inode,
|
status = ocfs2_read_block(alloc_inode,
|
||||||
next_group, &group_bh,
|
next_group, &group_bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
@@ -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)OCFS2_I(alloc_inode)->ip_blkno, count,
|
||||||
(unsigned long long)bg_blkno, start_bit);
|
(unsigned long long)bg_blkno, start_bit);
|
||||||
|
|
||||||
status = ocfs2_read_block(alloc_inode, bg_blkno, &group_bh,
|
status = ocfs2_read_block(alloc_inode, bg_blkno, &group_bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|||||||
@@ -84,10 +84,7 @@ static char *ocfs2_fast_symlink_getlink(struct inode *inode,
|
|||||||
|
|
||||||
mlog_entry_void();
|
mlog_entry_void();
|
||||||
|
|
||||||
status = ocfs2_read_block(inode,
|
status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, bh);
|
||||||
OCFS2_I(inode)->ip_blkno,
|
|
||||||
bh,
|
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
mlog_errno(status);
|
mlog_errno(status);
|
||||||
link = ERR_PTR(status);
|
link = ERR_PTR(status);
|
||||||
|
|||||||
@@ -537,9 +537,7 @@ static int ocfs2_xattr_block_list(struct inode *inode,
|
|||||||
if (!di->i_xattr_loc)
|
if (!di->i_xattr_loc)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, le64_to_cpu(di->i_xattr_loc), &blk_bh);
|
||||||
le64_to_cpu(di->i_xattr_loc),
|
|
||||||
&blk_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -672,8 +670,7 @@ static int ocfs2_xattr_get_value_outside(struct inode *inode,
|
|||||||
blkno = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster);
|
blkno = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster);
|
||||||
/* Copy ocfs2_xattr_value */
|
/* Copy ocfs2_xattr_value */
|
||||||
for (i = 0; i < num_clusters * bpc; i++, blkno++) {
|
for (i = 0; i < num_clusters * bpc; i++, blkno++) {
|
||||||
ret = ocfs2_read_block(inode, blkno,
|
ret = ocfs2_read_block(inode, blkno, &bh);
|
||||||
&bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -764,9 +761,7 @@ static int ocfs2_xattr_block_get(struct inode *inode,
|
|||||||
|
|
||||||
memset(&xs->bucket, 0, sizeof(xs->bucket));
|
memset(&xs->bucket, 0, sizeof(xs->bucket));
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, le64_to_cpu(di->i_xattr_loc), &blk_bh);
|
||||||
le64_to_cpu(di->i_xattr_loc),
|
|
||||||
&blk_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -922,8 +917,7 @@ static int __ocfs2_xattr_set_value_outside(struct inode *inode,
|
|||||||
blkno = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster);
|
blkno = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster);
|
||||||
|
|
||||||
for (i = 0; i < num_clusters * bpc; i++, blkno++) {
|
for (i = 0; i < num_clusters * bpc; i++, blkno++) {
|
||||||
ret = ocfs2_read_block(inode, blkno,
|
ret = ocfs2_read_block(inode, blkno, &bh);
|
||||||
&bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out_commit;
|
goto out_commit;
|
||||||
@@ -1514,8 +1508,7 @@ static int ocfs2_xattr_free_block(struct inode *inode,
|
|||||||
u64 blk, bg_blkno;
|
u64 blk, bg_blkno;
|
||||||
u16 bit;
|
u16 bit;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, block, &blk_bh,
|
ret = ocfs2_read_block(inode, block, &blk_bh);
|
||||||
OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -1773,9 +1766,7 @@ static int ocfs2_xattr_block_find(struct inode *inode,
|
|||||||
if (!di->i_xattr_loc)
|
if (!di->i_xattr_loc)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, le64_to_cpu(di->i_xattr_loc), &blk_bh);
|
||||||
le64_to_cpu(di->i_xattr_loc),
|
|
||||||
&blk_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -2216,9 +2207,8 @@ static int ocfs2_find_xe_in_bucket(struct inode *inode,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode,
|
ret = ocfs2_read_block(inode, header_bh->b_blocknr + block_off,
|
||||||
header_bh->b_blocknr + block_off,
|
&name_bh);
|
||||||
&name_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
break;
|
break;
|
||||||
@@ -2269,7 +2259,7 @@ static int ocfs2_xattr_bucket_find(struct inode *inode,
|
|||||||
u32 last_hash;
|
u32 last_hash;
|
||||||
u64 blkno;
|
u64 blkno;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, p_blkno, &bh, OCFS2_BH_CACHED);
|
ret = ocfs2_read_block(inode, p_blkno, &bh);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -2285,7 +2275,7 @@ static int ocfs2_xattr_bucket_find(struct inode *inode,
|
|||||||
|
|
||||||
blkno = p_blkno + bucket * blk_per_bucket;
|
blkno = p_blkno + bucket * blk_per_bucket;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
|
ret = ocfs2_read_block(inode, blkno, &bh);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -2898,7 +2888,6 @@ static int ocfs2_defrag_xattr_bucket(struct inode *inode,
|
|||||||
u64 blkno = bucket->bhs[0]->b_blocknr;
|
u64 blkno = bucket->bhs[0]->b_blocknr;
|
||||||
u16 blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb);
|
u16 blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb);
|
||||||
u16 xh_free_start;
|
u16 xh_free_start;
|
||||||
struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
|
|
||||||
size_t blocksize = inode->i_sb->s_blocksize;
|
size_t blocksize = inode->i_sb->s_blocksize;
|
||||||
handle_t *handle;
|
handle_t *handle;
|
||||||
struct buffer_head **bhs;
|
struct buffer_head **bhs;
|
||||||
@@ -3110,8 +3099,7 @@ static int ocfs2_mv_xattr_bucket_cross_cluster(struct inode *inode,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, prev_blkno,
|
ret = ocfs2_read_block(inode, prev_blkno, &old_bh);
|
||||||
&old_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
brelse(new_bh);
|
brelse(new_bh);
|
||||||
@@ -3481,7 +3469,7 @@ static int ocfs2_cp_xattr_cluster(struct inode *inode,
|
|||||||
ocfs2_journal_dirty(handle, first_bh);
|
ocfs2_journal_dirty(handle, first_bh);
|
||||||
|
|
||||||
/* update the new bucket header. */
|
/* update the new bucket header. */
|
||||||
ret = ocfs2_read_block(inode, to_blk_start, &bh, OCFS2_BH_CACHED);
|
ret = ocfs2_read_block(inode, to_blk_start, &bh);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -3868,8 +3856,7 @@ static int ocfs2_add_new_xattr_bucket(struct inode *inode,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, p_blkno,
|
ret = ocfs2_read_block(inode, p_blkno, &first_bh);
|
||||||
&first_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
@@ -4220,8 +4207,7 @@ static int ocfs2_xattr_bucket_value_truncate(struct inode *inode,
|
|||||||
BUG_ON(value_blk != (offset + OCFS2_XATTR_ROOT_SIZE - 1) / blocksize);
|
BUG_ON(value_blk != (offset + OCFS2_XATTR_ROOT_SIZE - 1) / blocksize);
|
||||||
value_blk += header_bh->b_blocknr;
|
value_blk += header_bh->b_blocknr;
|
||||||
|
|
||||||
ret = ocfs2_read_block(inode, value_blk,
|
ret = ocfs2_read_block(inode, value_blk, &value_bh);
|
||||||
&value_bh, OCFS2_BH_CACHED);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mlog_errno(ret);
|
mlog_errno(ret);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
Reference in New Issue
Block a user