diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-29 19:02:20 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-12-06 00:30:50 +0100 |
commit | 8fe72bac8de784c4059b41a7dd6bb0151a3ae898 (patch) | |
tree | 156f7442bb4b41e804aca666d87690af45fb2ac7 /include/linux/nfs_xdr.h | |
parent | 275e7e20aa8599719729f8ef4c09c9bfc4895642 (diff) | |
download | blackbird-op-linux-8fe72bac8de784c4059b41a7dd6bb0151a3ae898.tar.gz blackbird-op-linux-8fe72bac8de784c4059b41a7dd6bb0151a3ae898.zip |
NFSv4: Clean up handling of privileged operations
Privileged rpc calls are those that are run by the state recovery thread,
in cases where we're trying to recover the system after a server reboot
or a network partition. In those cases, we want to fence off all other
rpc calls (see nfs4_begin_drain_session()) so that they don't end up
using stateids or clientids that are in the process of being recovered.
Prior to this patch, we had to set up special callback functions in
order to declare an rpc call as being privileged.
By adding a new field to the sequence arguments, this patch simplifies
things considerably, and allows us to declare the rpc call as privileged
before it is run.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r-- | include/linux/nfs_xdr.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 2076149db1a4..baa673edb597 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h @@ -188,7 +188,8 @@ struct nfs4_channel_attrs { struct nfs4_slot; struct nfs4_sequence_args { struct nfs4_slot *sa_slot; - u8 sa_cache_this; + u8 sa_cache_this : 1, + sa_privileged : 1; }; struct nfs4_sequence_res { |