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> --- fs/f2fs/file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index f92a9fba9991..7ae5a5af5ed9 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -1036,7 +1036,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, @@ -1117,6 +1117,9 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, if (err) return err; + if (IS_DEVICE_ALIASING(inode)) + f2fs_destroy_extent_tree(inode); + spin_lock(&fi->i_size_lock); inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode)); fi->last_disk_size = i_size_read(inode); -- 2.49.0.rc1.451.g8f38331e32-goog _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel