Commit 8fe72bac authored by Trond Myklebust's avatar Trond Myklebust

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: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 275e7e20
This diff is collapsed.
...@@ -188,7 +188,8 @@ struct nfs4_channel_attrs { ...@@ -188,7 +188,8 @@ struct nfs4_channel_attrs {
struct nfs4_slot; struct nfs4_slot;
struct nfs4_sequence_args { struct nfs4_sequence_args {
struct nfs4_slot *sa_slot; struct nfs4_slot *sa_slot;
u8 sa_cache_this; u8 sa_cache_this : 1,
sa_privileged : 1;
}; };
struct nfs4_sequence_res { struct nfs4_sequence_res {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment