diff options
| author | Darrick J. Wong <darrick.wong@oracle.com> | 2013-04-19 14:04:12 -0400 | 
|---|---|---|
| committer | Theodore Ts'o <tytso@mit.edu> | 2013-04-19 14:04:12 -0400 | 
| commit | 2656497b26d45c1ca51a7727ab92c8307cb99305 (patch) | |
| tree | 3ca5df6ee834234d577d16409964ea283d4cb8b9 | |
| parent | eb9cc7e16b32c898a1d715733c590f115aa0a099 (diff) | |
| download | olio-linux-3.10-2656497b26d45c1ca51a7727ab92c8307cb99305.tar.xz olio-linux-3.10-2656497b26d45c1ca51a7727ab92c8307cb99305.zip  | |
ext4: mext_insert_extents should update extent block checksum
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| -rw-r--r-- | fs/ext4/ext4_extents.h | 5 | ||||
| -rw-r--r-- | fs/ext4/extents.c | 7 | ||||
| -rw-r--r-- | fs/ext4/move_extent.c | 13 | 
3 files changed, 8 insertions, 17 deletions
diff --git a/fs/ext4/ext4_extents.h b/fs/ext4/ext4_extents.h index 8643ff5bbeb..51bc821ade9 100644 --- a/fs/ext4/ext4_extents.h +++ b/fs/ext4/ext4_extents.h @@ -270,5 +270,10 @@ static inline void ext4_idx_store_pblock(struct ext4_extent_idx *ix,  				     0xffff);  } +#define ext4_ext_dirty(handle, inode, path) \ +		__ext4_ext_dirty(__func__, __LINE__, (handle), (inode), (path)) +int __ext4_ext_dirty(const char *where, unsigned int line, handle_t *handle, +		     struct inode *inode, struct ext4_ext_path *path); +  #endif /* _EXT4_EXTENTS */ diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 6fcb375c8fd..107936db244 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -157,11 +157,8 @@ static int ext4_ext_get_access(handle_t *handle, struct inode *inode,   *  - ENOMEM   *  - EIO   */ -#define ext4_ext_dirty(handle, inode, path) \ -		__ext4_ext_dirty(__func__, __LINE__, (handle), (inode), (path)) -static int __ext4_ext_dirty(const char *where, unsigned int line, -			    handle_t *handle, struct inode *inode, -			    struct ext4_ext_path *path) +int __ext4_ext_dirty(const char *where, unsigned int line, handle_t *handle, +		     struct inode *inode, struct ext4_ext_path *path)  {  	int err;  	if (path->p_bh) { diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c index 309ca899a73..3dcbf364022 100644 --- a/fs/ext4/move_extent.c +++ b/fs/ext4/move_extent.c @@ -409,18 +409,7 @@ mext_insert_extents(handle_t *handle, struct inode *orig_inode,  		mext_insert_inside_block(o_start, o_end, start_ext, new_ext,  						end_ext, eh, range_to_move); -	if (depth) { -		ret = ext4_handle_dirty_metadata(handle, orig_inode, -						 orig_path->p_bh); -		if (ret) -			return ret; -	} else { -		ret = ext4_mark_inode_dirty(handle, orig_inode); -		if (ret < 0) -			return ret; -	} - -	return 0; +	return ext4_ext_dirty(handle, orig_inode, orig_path);  }  /**  |