On Mon, Jul 01, 2019 at 01:26:28PM -0700, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > Make the f2fs implementation of FS_IOC_SETFLAGS use the new VFS helper > function vfs_ioc_setflags_prepare(). > > This is based on a patch from Darrick Wong, but reworked to apply after > commit 360985573b55 ("f2fs: separate f2fs i_flags from fs_flags and ext4 > i_flags"). > > Originally-from: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> LGTM, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/f2fs/file.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > index e7c368db81851f..b5b941e6448657 100644 > --- a/fs/f2fs/file.c > +++ b/fs/f2fs/file.c > @@ -1765,7 +1765,8 @@ static int f2fs_ioc_getflags(struct file *filp, unsigned long arg) > static int f2fs_ioc_setflags(struct file *filp, unsigned long arg) > { > struct inode *inode = file_inode(filp); > - u32 fsflags; > + struct f2fs_inode_info *fi = F2FS_I(inode); > + u32 fsflags, old_fsflags; > u32 iflags; > int ret; > > @@ -1789,8 +1790,14 @@ static int f2fs_ioc_setflags(struct file *filp, unsigned long arg) > > inode_lock(inode); > > + old_fsflags = f2fs_iflags_to_fsflags(fi->i_flags); > + ret = vfs_ioc_setflags_prepare(inode, old_fsflags, fsflags); > + if (ret) > + goto out; > + > ret = f2fs_setflags_common(inode, iflags, > f2fs_fsflags_to_iflags(F2FS_SETTABLE_FS_FL)); > +out: > inode_unlock(inode); > mnt_drop_write_file(filp); > return ret; > -- > 2.22.0.410.gd8fdbe21b5-goog >