data cache invalidation on delegation recalls
when we receive a delegation recall, we need to make a downcall to the kernel and change a buffering/caching policy on this file. on each open and close we pass an srv_open pointer to the nfsd to keep in case it receives a cb_recall. we store srv_open in the delegation state if we got a delegation.
This commit is contained in:
parent
909947f07a
commit
c22c2b6080
6 changed files with 107 additions and 14 deletions
|
|
@ -102,6 +102,8 @@ typedef struct __nfs41_delegation_state {
|
|||
CONDITION_VARIABLE cond;
|
||||
|
||||
bool_t revoked; /* for recovery, accessed under client.state.lock */
|
||||
|
||||
HANDLE srv_open; /* for rdbss cache invalidation */
|
||||
} nfs41_delegation_state;
|
||||
|
||||
typedef struct __nfs41_lock_state {
|
||||
|
|
@ -148,6 +150,8 @@ typedef struct __nfs41_open_state {
|
|||
struct list_entry list;
|
||||
uint32_t counter;
|
||||
} locks;
|
||||
|
||||
HANDLE srv_open; /* for data cache invalidation */
|
||||
} nfs41_open_state;
|
||||
|
||||
typedef struct __nfs41_rpc_clnt {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue