f2fs: skip punching hole in special condition
Now punching hole in directory is not supported in f2fs, so let's limit file type in punch_hole(). In addition, in punch_hole if offset is exceed file size, we should skip punching hole. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
55cf9cb63f
commit
14cecc5cd6
1 changed files with 7 additions and 0 deletions
|
@ -658,6 +658,13 @@ static int punch_hole(struct inode *inode, loff_t offset, loff_t len)
|
||||||
loff_t off_start, off_end;
|
loff_t off_start, off_end;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
if (!S_ISREG(inode->i_mode))
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
|
/* skip punching hole beyond i_size */
|
||||||
|
if (offset >= inode->i_size)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ret = f2fs_convert_inline_data(inode, MAX_INLINE_DATA + 1, NULL);
|
ret = f2fs_convert_inline_data(inode, MAX_INLINE_DATA + 1, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Add table
Reference in a new issue