• Home
  • Raw
  • Download

Lines Matching full:delegation

60 #include "delegation.h"
1299 /* Want no delegation if we're using O_DIRECT */ in nfs4_map_atomic_open_share()
1521 static int can_open_delegated(struct nfs_delegation *delegation, fmode_t fmode, in can_open_delegated() argument
1524 if (delegation == NULL) in can_open_delegated()
1526 if ((delegation->type & fmode) != fmode) in can_open_delegated()
1533 if (!test_bit(NFS_DELEGATION_NEED_RECLAIM, &delegation->flags)) in can_open_delegated()
1539 nfs_mark_delegation_referenced(delegation); in can_open_delegated()
1793 const nfs4_stateid *delegation, in update_open_stateid() argument
1817 if (rcu_dereference(nfsi->delegation) != deleg_cur || in update_open_stateid()
1822 if (delegation == NULL) in update_open_stateid()
1823 delegation = &deleg_cur->stateid; in update_open_stateid()
1824 else if (!nfs4_stateid_match_other(&deleg_cur->stateid, delegation)) in update_open_stateid()
1867 struct nfs_delegation *delegation; in nfs4_return_incompatible_delegation() local
1871 delegation = nfs4_get_valid_delegation(inode); in nfs4_return_incompatible_delegation()
1872 if (delegation == NULL || (delegation->type & fmode) == fmode) { in nfs4_return_incompatible_delegation()
1883 struct nfs_delegation *delegation; in nfs4_try_open_cached() local
1899 delegation = nfs4_get_valid_delegation(state->inode); in nfs4_try_open_cached()
1900 if (!can_open_delegated(delegation, fmode, claim)) { in nfs4_try_open_cached()
1904 /* Save the delegation */ in nfs4_try_open_cached()
1905 nfs4_stateid_copy(&stateid, &delegation->stateid); in nfs4_try_open_cached()
1915 /* Try to update the stateid using the delegation */ in nfs4_try_open_cached()
1930 struct nfs_delegation *delegation; in nfs4_opendata_check_deleg() local
1934 delegation = rcu_dereference(NFS_I(state->inode)->delegation); in nfs4_opendata_check_deleg()
1935 if (delegation) in nfs4_opendata_check_deleg()
1936 delegation_flags = delegation->flags; in nfs4_opendata_check_deleg()
1944 "returning a delegation for " in nfs4_opendata_check_deleg()
1953 &data->o_res.delegation, in nfs4_opendata_check_deleg()
1959 &data->o_res.delegation, in nfs4_opendata_check_deleg()
1964 &data->o_res.delegation); in nfs4_opendata_check_deleg()
2193 struct nfs_delegation *delegation; in _nfs4_do_open_reclaim() local
2203 delegation = rcu_dereference(NFS_I(state->inode)->delegation); in _nfs4_do_open_reclaim()
2204 if (delegation != NULL && test_bit(NFS_DELEGATION_NEED_RECLAIM, &delegation->flags) != 0) in _nfs4_do_open_reclaim()
2205 delegation_type = delegation->type; in _nfs4_do_open_reclaim()
2265 /* Don't recall a delegation if it was lost */ in nfs4_handle_delegation_recall_error()
2310 nfs4_stateid_copy(&opendata->o_arg.u.delegation, stateid); in nfs4_open_delegation_recall()
2432 * a delegation instead. in nfs4_open_prepare()
2435 struct nfs_delegation *delegation; in nfs4_open_prepare() local
2441 delegation = nfs4_get_valid_delegation(data->state->inode); in nfs4_open_prepare()
2442 if (can_open_delegated(delegation, data->o_arg.fmode, claim)) in nfs4_open_prepare()
2724 * We're not recovering a delegation, so ask for no delegation. in _nfs4_open_expired()
2726 * delegation return. in _nfs4_open_expired()
2782 if (rcu_access_pointer(NFS_I(state->inode)->delegation) != NULL) in nfs40_clear_delegation_stateid()
2788 /* NFSv4.0 doesn't allow for delegation recovery on open expire */ in nfs40_open_expired()
2837 struct nfs_delegation *delegation; in nfs41_check_delegation_stateid() local
2841 /* Get the delegation credential for use by test/free_stateid */ in nfs41_check_delegation_stateid()
2843 delegation = rcu_dereference(NFS_I(state->inode)->delegation); in nfs41_check_delegation_stateid()
2844 if (delegation == NULL) { in nfs41_check_delegation_stateid()
2850 spin_lock(&delegation->lock); in nfs41_check_delegation_stateid()
2851 nfs4_stateid_copy(&stateid, &delegation->stateid); in nfs41_check_delegation_stateid()
2854 &delegation->flags)) { in nfs41_check_delegation_stateid()
2855 spin_unlock(&delegation->lock); in nfs41_check_delegation_stateid()
2860 if (delegation->cred) in nfs41_check_delegation_stateid()
2861 cred = get_cred(delegation->cred); in nfs41_check_delegation_stateid()
2862 spin_unlock(&delegation->lock); in nfs41_check_delegation_stateid()
3287 /* We must have found a delegation */ in nfs4_do_open()
5450 * a delegation in nfs4_write_need_cache_consistency_data()
7271 /* ...but avoid races with delegation recall... */ in _nfs4_proc_setlk()