• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/nfs/

Lines Matching refs:delegation

54 #include "delegation.h"
841 static int can_open_delegated(struct nfs_delegation *delegation, fmode_t fmode)
843 if ((delegation->type & fmode) != fmode)
845 if (test_bit(NFS_DELEGATION_NEED_RECLAIM, &delegation->flags))
847 nfs_mark_delegation_referenced(delegation);
909 static int update_open_stateid(struct nfs4_state *state, nfs4_stateid *open_stateid, nfs4_stateid *delegation, fmode_t fmode)
918 deleg_cur = rcu_dereference(nfsi->delegation);
923 if (nfsi->delegation != deleg_cur ||
927 if (delegation == NULL)
928 delegation = &deleg_cur->stateid;
929 else if (memcmp(deleg_cur->stateid.data, delegation->data, NFS4_STATEID_SIZE) != 0)
951 struct nfs_delegation *delegation;
954 delegation = rcu_dereference(NFS_I(inode)->delegation);
955 if (delegation == NULL || (delegation->type & fmode) == fmode) {
967 struct nfs_delegation *delegation;
984 delegation = rcu_dereference(nfsi->delegation);
985 if (delegation == NULL ||
986 !can_open_delegated(delegation, fmode)) {
990 /* Save the delegation */
991 memcpy(stateid.data, delegation->stateid.data, sizeof(stateid.data));
998 /* Try to update the stateid using the delegation */
1013 struct nfs_delegation *delegation;
1036 delegation = rcu_dereference(NFS_I(inode)->delegation);
1037 if (delegation)
1038 delegation_flags = delegation->flags;
1163 struct nfs_delegation *delegation;
1174 delegation = rcu_dereference(NFS_I(state->inode)->delegation);
1175 if (delegation != NULL && test_bit(NFS_DELEGATION_NEED_RECLAIM, &delegation->flags) != 0)
1176 delegation_type = delegation->type;
1220 memcpy(opendata->o_arg.u.delegation.data, stateid->data,
1221 sizeof(opendata->o_arg.u.delegation.data));
1250 /* Don't recall a delegation if it was lost */
1357 * a delegation instead.
1360 struct nfs_delegation *delegation;
1365 delegation = rcu_dereference(NFS_I(data->state->inode)->delegation);
1366 if (delegation != NULL &&
1367 test_bit(NFS_DELEGATION_NEED_RECLAIM, &delegation->flags) == 0) {
1751 /* We must have found a delegation */
4294 /* ...but avoid races with delegation recall... */