nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls
authorJeff Layton <jlayton@primarydata.com>
Fri, 12 Sep 2014 20:40:21 +0000 (16:40 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 17 Sep 2014 20:33:17 +0000 (16:33 -0400)
commit788a7914ad43380d31efed1c4d14b5f2c466a764
treefe27e8595c23a8966d3814ebc76dfb9aea17f3e9
parentd682e750ce14cfb3be655e6d492c77511e637228
nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls

The nfsdcltrack upcall doesn't utilize the NFSD4_CLIENT_STABLE flag,
which basically results in an upcall every time we call into the client
tracking ops.

Change it to set this bit on a successful "check" or "create" request,
and clear it on a "remove" request.  Also, check to see if that bit is
set before upcalling on a "check" or "remove" request, and skip
upcalling appropriately, depending on its state.

Signed-off-by: Jeff Layton <jlayton@primarydata.com>
fs/nfsd/nfs4recover.c