On Mon, Apr 29, 2013 at 06:27:07PM +0000, Myklebust, Trond wrote: > On Mon, 2013-04-29 at 14:21 -0400, J. Bruce Fields wrote: > > On Mon, Apr 29, 2013 at 06:15:52PM +0000, Myklebust, Trond wrote: > > > On Mon, 2013-04-29 at 11:15 -0400, Trond Myklebust wrote: > > > > The NFSv4 and NFSv4.1 specs are both clear that the server should only check > > > > stateid open mode if a SETATTR specifies the size attribute. If the > > > > open mode is not one that allows writing, then it returns NFS4ERR_OPENMODE. > > > > > > > > In the case where the SETATTR is not changing the size, the client will > > > > still pass it the delegation stateid to ensure that the server does not > > > > recall that delegation. In that case, the server should _ignore_ the > > > > delegation open mode, and simply apply standard permission checks. > > > > > > Bruce, what does the Linux server do when we send it a delegation > > > stateid as part of a SETATTR that just changes the mode or acl (no size > > > change)? Will it recall the delegation? How about the delegations held > > > by other clients? > > > > Yes, it breaks all delegations on any setattr. > > Do you plan to change that? I'd take patches. --b. > The main problem with the current scheme is that you can't hand out a > delegation as part of an exclusive create: the client would have to > return it immediately so that it can do the setattr to initialise the > file attributes. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html