On Mon, 2023-09-18 at 23:30 -0700, Dai Ngo wrote: > The Linux NFS server strips the SUID and SGID from the file mode > on ALLOCATE op. > > Modify _nfs42_proc_fallocate to add NFS_INO_REVAL_FORCED to > nfs_set_cache_invalid's argument to force update of the file > mode suid/sgid bit. > > Suggested-by: Trond Myklebust <trondmy@xxxxxxxxxxxxxxx> > Signed-off-by: Dai Ngo <dai.ngo@xxxxxxxxxx> > Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > v3 -> v4: add Suggested-by and Reviewed-by tag. > > fs/nfs/nfs42proc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c > index 63802d195556..9d2f07feeb29 100644 > --- a/fs/nfs/nfs42proc.c > +++ b/fs/nfs/nfs42proc.c > @@ -81,7 +81,8 @@ static int _nfs42_proc_fallocate(struct rpc_message *msg, struct file *filep, > if (status == 0) { > if (nfs_should_remove_suid(inode)) { > spin_lock(&inode->i_lock); > - nfs_set_cache_invalid(inode, NFS_INO_INVALID_MODE); > + nfs_set_cache_invalid(inode, > + NFS_INO_REVAL_FORCED | NFS_INO_INVALID_MODE); > spin_unlock(&inode->i_lock); > } > status = nfs_post_op_update_inode_force_wcc(inode, This fixes generic/683 and generic/684 for me, when nfsd has issued a write delegation. This was posted some time ago. Is there some reason this hasn't been merged yet? Tested-by: Jeff Layton <jlayton@xxxxxxxxxx>