diff options
Diffstat (limited to 'fs/ocfs2/resize.c')
| -rw-r--r-- | fs/ocfs2/resize.c | 19 | 
1 files changed, 6 insertions, 13 deletions
diff --git a/fs/ocfs2/resize.c b/fs/ocfs2/resize.c index 3c3d673a4d2..dacd553d861 100644 --- a/fs/ocfs2/resize.c +++ b/fs/ocfs2/resize.c @@ -134,11 +134,7 @@ static int ocfs2_update_last_group_and_inode(handle_t *handle,  		le16_add_cpu(&group->bg_free_bits_count, -1 * backups);  	} -	ret = ocfs2_journal_dirty(handle, group_bh); -	if (ret < 0) { -		mlog_errno(ret); -		goto out_rollback; -	} +	ocfs2_journal_dirty(handle, group_bh);  	/* update the inode accordingly. */  	ret = ocfs2_journal_access_di(handle, INODE_CACHE(bm_inode), bm_bh, @@ -319,7 +315,8 @@ int ocfs2_group_extend(struct inode * inode, int new_clusters)  	BUG_ON(!OCFS2_IS_VALID_DINODE(fe));  	if (le16_to_cpu(fe->id2.i_chain.cl_cpg) != -				 ocfs2_group_bitmap_size(osb->sb) * 8) { +		ocfs2_group_bitmap_size(osb->sb, 0, +					osb->s_feature_incompat) * 8) {  		mlog(ML_ERROR, "The disk is too old and small. "  		     "Force to do offline resize.");  		ret = -EINVAL; @@ -500,7 +497,8 @@ int ocfs2_group_add(struct inode *inode, struct ocfs2_new_group_input *input)  	fe = (struct ocfs2_dinode *)main_bm_bh->b_data;  	if (le16_to_cpu(fe->id2.i_chain.cl_cpg) != -				 ocfs2_group_bitmap_size(osb->sb) * 8) { +		ocfs2_group_bitmap_size(osb->sb, 0, +					osb->s_feature_incompat) * 8) {  		mlog(ML_ERROR, "The disk is too old and small."  		     " Force to do offline resize.");  		ret = -EINVAL; @@ -545,12 +543,7 @@ int ocfs2_group_add(struct inode *inode, struct ocfs2_new_group_input *input)  	group = (struct ocfs2_group_desc *)group_bh->b_data;  	group->bg_next_group = cr->c_blkno; - -	ret = ocfs2_journal_dirty(handle, group_bh); -	if (ret < 0) { -		mlog_errno(ret); -		goto out_commit; -	} +	ocfs2_journal_dirty(handle, group_bh);  	ret = ocfs2_journal_access_di(handle, INODE_CACHE(main_bm_inode),  				      main_bm_bh, OCFS2_JOURNAL_ACCESS_WRITE);  |