On Sun, Sep 16, 2018 at 04:02:52AM +0000, Wang Shilong wrote: > > > > 在 2018年9月16日,上午11:55,Theodore Y. Ts'o <tytso@xxxxxxx> 写道: > > > > On Wed, Sep 12, 2018 at 08:57:16AM +0900, Wang Shilong wrote: > >> diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c > >> index a7074115d6f6..f81102bd3203 100644 > >> --- a/fs/ext4/ioctl.c > >> +++ b/fs/ext4/ioctl.c > >> @@ -339,19 +339,14 @@ static int ext4_ioctl_setproject(struct file *filp, __u32 projid) > >> if (projid_eq(kprojid, EXT4_I(inode)->i_projid)) > >> return 0; > >> > >> - err = mnt_want_write_file(filp); > >> - if (err) > >> - return err; > >> - > > > > A huge part of this patch is dropping the calls to > > mnt_want_write_file() and mnt_drop_write_file(). What's the > > justification for doing this? The use of mnt_want_write_file() looks > > necessary to me… > > Hi Ted, > > mnt_want_write_file() and inode_lock is held before this function called now. > Since both ioctl_set_flags and ext4_set_project() need call them. I don't see any place in this patch where mnt_want_write_file() is being called. What am I missing? And if there is a dependent patch to this first patch in the patch series, please include it in this patch series.... or least point it out after the --- list. Thanks, - Ted