Loading fs/nfsd/nfs4state.c +4 −4 Original line number Diff line number Diff line Loading @@ -688,7 +688,7 @@ static void nfs4_put_deleg_lease(struct nfs4_file *fp) struct file *filp = NULL; spin_lock(&fp->fi_lock); if (fp->fi_deleg_file && atomic_dec_and_test(&fp->fi_delegees)) if (fp->fi_deleg_file && --fp->fi_delegees == 0) swap(filp, fp->fi_deleg_file); spin_unlock(&fp->fi_lock); Loading Loading @@ -3855,12 +3855,12 @@ static int nfs4_setlease(struct nfs4_delegation *dp) /* Race breaker */ if (fp->fi_deleg_file) { status = 0; atomic_inc(&fp->fi_delegees); ++fp->fi_delegees; hash_delegation_locked(dp, fp); goto out_unlock; } fp->fi_deleg_file = filp; atomic_set(&fp->fi_delegees, 1); fp->fi_delegees = 1; hash_delegation_locked(dp, fp); spin_unlock(&fp->fi_lock); spin_unlock(&state_lock); Loading Loading @@ -3901,7 +3901,7 @@ nfs4_set_delegation(struct nfs4_client *clp, struct svc_fh *fh, status = -EAGAIN; goto out_unlock; } atomic_inc(&fp->fi_delegees); ++fp->fi_delegees; hash_delegation_locked(dp, fp); status = 0; out_unlock: Loading fs/nfsd/state.h +1 −1 Original line number Diff line number Diff line Loading @@ -493,7 +493,7 @@ struct nfs4_file { atomic_t fi_access[2]; u32 fi_share_deny; struct file *fi_deleg_file; atomic_t fi_delegees; int fi_delegees; struct knfsd_fh fi_fhandle; bool fi_had_conflict; }; Loading Loading
fs/nfsd/nfs4state.c +4 −4 Original line number Diff line number Diff line Loading @@ -688,7 +688,7 @@ static void nfs4_put_deleg_lease(struct nfs4_file *fp) struct file *filp = NULL; spin_lock(&fp->fi_lock); if (fp->fi_deleg_file && atomic_dec_and_test(&fp->fi_delegees)) if (fp->fi_deleg_file && --fp->fi_delegees == 0) swap(filp, fp->fi_deleg_file); spin_unlock(&fp->fi_lock); Loading Loading @@ -3855,12 +3855,12 @@ static int nfs4_setlease(struct nfs4_delegation *dp) /* Race breaker */ if (fp->fi_deleg_file) { status = 0; atomic_inc(&fp->fi_delegees); ++fp->fi_delegees; hash_delegation_locked(dp, fp); goto out_unlock; } fp->fi_deleg_file = filp; atomic_set(&fp->fi_delegees, 1); fp->fi_delegees = 1; hash_delegation_locked(dp, fp); spin_unlock(&fp->fi_lock); spin_unlock(&state_lock); Loading Loading @@ -3901,7 +3901,7 @@ nfs4_set_delegation(struct nfs4_client *clp, struct svc_fh *fh, status = -EAGAIN; goto out_unlock; } atomic_inc(&fp->fi_delegees); ++fp->fi_delegees; hash_delegation_locked(dp, fp); status = 0; out_unlock: Loading
fs/nfsd/state.h +1 −1 Original line number Diff line number Diff line Loading @@ -493,7 +493,7 @@ struct nfs4_file { atomic_t fi_access[2]; u32 fi_share_deny; struct file *fi_deleg_file; atomic_t fi_delegees; int fi_delegees; struct knfsd_fh fi_fhandle; bool fi_had_conflict; }; Loading