* David Flynn (davidf@xxxxxxxxxxxx) wrote: > * Trond Myklebust (Trond.Myklebust@xxxxxxxxxx) wrote: > > While the open() call may indeed fail to set the uid/gid (because to do > > so would require an upcall right in the middle of an asynchronous RPC > > call), it should normally mark the inode as requiring revalidation if > > this is the case. > > Where ought this occur (so we can validate that it is indeed the case)? > > > The ensuing stat() should then trigger a GETATTR call on the wire, which > > will correct the uid/gid. I've re-run the test with nfs client debugging turned on. I've also modified the test case to write output to /dev/kmsg to allow easier identification of what is going on. An annotated log is available at: ftp://ftp.kw.bbc.co.uk/davidf/priv/nfs-20101209/bad NB, the system i've run this on has an nfsroot[1], and 1MiB kernel log ring buffer. with nfs debugging, the test case would occasionally do as expected, the transcript of this is available as: ftp://ftp.kw.bbc.co.uk/davidf/priv/nfs-20101209/good I've tried to keep the formatting similar, so that you can do: $ diff -u <(sed -e 's/^\[.\+\]//' bad) <(sed -e 's/^\[.\+\]//' good) This is available as: ftp://ftp.kw.bbc.co.uk/davidf/priv/nfs-20101209/bad-to-good.diff [1] although i can reproduce on systems without nfsroot, i don't have root access to them. ..david -- 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