make sure the isize we read doesn't change during the process.
Signed-off-by: Fan li <[email protected]>
---
fs/f2fs/data.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 11b2111..5c38f44 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -792,7 +792,7 @@ int f2fs_fiemap(struct inode *inode, struct
fiemap_extent_info *fieinfo,
{
struct buffer_head map_bh;
sector_t start_blk, last_blk;
- loff_t isize = i_size_read(inode);
+ loff_t isize;
u64 logical = 0, phys = 0, size = 0;
u32 flags = 0;
int ret = 0;
@@ -808,6 +808,8 @@ int f2fs_fiemap(struct inode *inode, struct
fiemap_extent_info *fieinfo,
}
mutex_lock(&inode->i_mutex);
+
+ isize = i_size_read(inode);
if (start >= isize)
goto out;
--
1.7.9.5
------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel