From: Daeho Jeong <daehoje...@google.com> support a file truncation to zero size for device aliasing files.
Signed-off-by: Daeho Jeong <daehoje...@google.com> --- v2: make the extent length zero --- fs/f2fs/file.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index f92a9fba9991..69952f208086 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -775,6 +775,11 @@ int f2fs_do_truncate_blocks(struct inode *inode, u64 from, bool lock) f2fs_update_time(sbi, REQ_TIME); f2fs_put_page(ipage, 1); + + write_lock(&et->lock); + et->largest.len = 0; + write_unlock(&et->lock); + goto out; } @@ -1036,7 +1041,7 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, if ((attr->ia_valid & ATTR_SIZE)) { if (!f2fs_is_compress_backend_ready(inode) || - IS_DEVICE_ALIASING(inode)) + (IS_DEVICE_ALIASING(inode) && attr->ia_size)) return -EOPNOTSUPP; if (is_inode_flag_set(inode, FI_COMPRESS_RELEASED) && !IS_ALIGNED(attr->ia_size, -- 2.49.0.395.g12beb8f557-goog _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel