• Trond Myklebust's avatar
    NFSv4: Make the NFS state model work with the nosharedcache mount option · 6f2e64d3
    Trond Myklebust authored
    Consider the case where the user has mounted the remote filesystem
    server:/foo on the two local directories /bar and /baz using the
    nosharedcache mount option. The files /bar/file and /baz/file are
    represented by different inodes in the local namespace, but refer to the
    same file /foo/file on the server.
    Consider the case where a process opens both /bar/file and /baz/file, then
    closes /bar/file: because the nfs4_state is not shared between /bar/file
    and /baz/file, the kernel will see that the nfs4_state for /bar/file is no
    longer referenced, so it will send off a CLOSE rpc call. Unless the
    open_owners differ, then that CLOSE call will invalidate the open state on
    /baz/file too.
    
    Conclusion: we cannot share open state owners between two different
    non-shared mount instances of the same filesystem.
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    6f2e64d3
nfs4_fs.h 8.17 KB