On Fri, Mar 13, 2020 at 11:35:49AM -0400, J. Bruce Fields wrote: > > > On Wed, Mar 11, 2020 at 07:59:42PM +0000, Frank van der Linden wrote: > > Second, RFC 8276 (NFSv4 extended attribute support) specifies that > > delegations should be recalled (8.4.2.4, 8.4.4.4) when a SETXATTR > > or REMOVEXATTR operation is performed. So, like with other fs > > operations, try to break the delegation. The _locked version of > > these operations will not wait for the delegation to be successfully > > broken, instead returning an error if it wasn't, so that the NFS > > server code can return NFS4ERR_DELAY to the client (similar to > > what e.g. vfs_link does). > > Is there a preexisting bug here? Even without NFS support for xattrs, a > local setxattr on the filesystem should still revoke any delegations > held by remote NFS clients. I couldn't tell whether we're getting that > right from a quick look at the current code. > > --b. I think there's currently a bug if that's the expected behavior, yes. Attribute changes will call notify_change(), and other methods (unlink, link, rename) call try_break_deleg(). But the xattr entry points don't do that, which is why I added it. - Frank