diff options
author | Sachin Bhamare <sachin.bhamare@primarydata.com> | 2015-04-27 14:50:14 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2015-05-04 12:02:39 -0400 |
commit | 8287f009bd95a5e548059dba62a67727bb9549cd (patch) | |
tree | 12d451819b0e805fd86172cdb120cb77014c5e75 /fs/ocfs2/locks.c | |
parent | ebe9cb3bb13e7b9b281969cd279ce70834f7500f (diff) | |
download | op-kernel-dev-8287f009bd95a5e548059dba62a67727bb9549cd.zip op-kernel-dev-8287f009bd95a5e548059dba62a67727bb9549cd.tar.gz |
nfsd: fix pNFS return on close semantics
For the sake of forgetful clients, the server should return the layouts
to the file system on 'last close' of a file (assuming that there are no
delegations outstanding to that particular client) or on delegreturn
(assuming that there are no opens on a file from that particular
client).
In theory the information is all there in current data structures, but
it's not efficiently available; nfs4_file->fi_ref includes references on
the file across all clients, but we need a per-(client, file) count.
Walking through lots of stateid's to calculate this on each close or
delegreturn would be painful.
This patch introduces infrastructure to maintain per-client opens and
delegation counters on a per-file basis.
[hch: ported to the mainline pNFS support, merged various fixes from Jeff]
Signed-off-by: Sachin Bhamare <sachin.bhamare@primarydata.com>
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/ocfs2/locks.c')
0 files changed, 0 insertions, 0 deletions