nfsd: serialize nfsdcltrack upcalls for a particular client
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:16 +0000 (16:33 -0400)
commitd682e750ce14cfb3be655e6d492c77511e637228
treef862ca27fa345f0e08ca7683e9349a87cb88a1a0
parentd4318acd5d2d34d69a46537f057b20a8f0266e1e
nfsd: serialize nfsdcltrack upcalls for a particular client

In a later patch, we want to add a flag that will allow us to reduce the
need for upcalls. In order to handle that correctly, we'll need to
ensure that racing upcalls for the same client can't occur. In practice
it should be rare for this to occur with a well-behaved client, but it
is possible.

Convert one of the bits in the cl_flags field to be an upcall bitlock,
and use it to ensure that upcalls for the same client are serialized.

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