diff options
| -rw-r--r-- | fs/ext4/extents.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 700206e525da..3a7928f825e4 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
| @@ -1762,7 +1762,9 @@ int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block, | |||
| 1762 | while (block < last && block != EXT_MAX_BLOCK) { | 1762 | while (block < last && block != EXT_MAX_BLOCK) { |
| 1763 | num = last - block; | 1763 | num = last - block; |
| 1764 | /* find extent for this block */ | 1764 | /* find extent for this block */ |
| 1765 | down_read(&EXT4_I(inode)->i_data_sem); | ||
| 1765 | path = ext4_ext_find_extent(inode, block, path); | 1766 | path = ext4_ext_find_extent(inode, block, path); |
| 1767 | up_read(&EXT4_I(inode)->i_data_sem); | ||
| 1766 | if (IS_ERR(path)) { | 1768 | if (IS_ERR(path)) { |
| 1767 | err = PTR_ERR(path); | 1769 | err = PTR_ERR(path); |
| 1768 | path = NULL; | 1770 | path = NULL; |
| @@ -3724,10 +3726,8 @@ int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | |||
| 3724 | * Walk the extent tree gathering extent information. | 3726 | * Walk the extent tree gathering extent information. |
| 3725 | * ext4_ext_fiemap_cb will push extents back to user. | 3727 | * ext4_ext_fiemap_cb will push extents back to user. |
| 3726 | */ | 3728 | */ |
| 3727 | down_read(&EXT4_I(inode)->i_data_sem); | ||
| 3728 | error = ext4_ext_walk_space(inode, start_blk, len_blks, | 3729 | error = ext4_ext_walk_space(inode, start_blk, len_blks, |
| 3729 | ext4_ext_fiemap_cb, fieinfo); | 3730 | ext4_ext_fiemap_cb, fieinfo); |
| 3730 | up_read(&EXT4_I(inode)->i_data_sem); | ||
| 3731 | } | 3731 | } |
| 3732 | 3732 | ||
| 3733 | return error; | 3733 | return error; |
