Loading fs/nfsd/nfs4state.c +6 −10 Original line number Original line Diff line number Diff line Loading @@ -5136,8 +5136,7 @@ nfs4_set_lock_denied(struct file_lock *fl, struct nfsd4_lock_denied *deny) } } static struct nfs4_lockowner * static struct nfs4_lockowner * find_lockowner_str_locked(clientid_t *clid, struct xdr_netobj *owner, find_lockowner_str_locked(struct nfs4_client *clp, struct xdr_netobj *owner) struct nfs4_client *clp) { { unsigned int strhashval = ownerstr_hashval(owner); unsigned int strhashval = ownerstr_hashval(owner); struct nfs4_stateowner *so; struct nfs4_stateowner *so; Loading @@ -5155,13 +5154,12 @@ find_lockowner_str_locked(clientid_t *clid, struct xdr_netobj *owner, } } static struct nfs4_lockowner * static struct nfs4_lockowner * find_lockowner_str(clientid_t *clid, struct xdr_netobj *owner, find_lockowner_str(struct nfs4_client *clp, struct xdr_netobj *owner) struct nfs4_client *clp) { { struct nfs4_lockowner *lo; struct nfs4_lockowner *lo; spin_lock(&clp->cl_lock); spin_lock(&clp->cl_lock); lo = find_lockowner_str_locked(clid, owner, clp); lo = find_lockowner_str_locked(clp, owner); spin_unlock(&clp->cl_lock); spin_unlock(&clp->cl_lock); return lo; return lo; } } Loading Loading @@ -5205,8 +5203,7 @@ alloc_init_lock_stateowner(unsigned int strhashval, struct nfs4_client *clp, lo->lo_owner.so_seqid = lock->lk_new_lock_seqid; lo->lo_owner.so_seqid = lock->lk_new_lock_seqid; lo->lo_owner.so_ops = &lockowner_ops; lo->lo_owner.so_ops = &lockowner_ops; spin_lock(&clp->cl_lock); spin_lock(&clp->cl_lock); ret = find_lockowner_str_locked(&clp->cl_clientid, ret = find_lockowner_str_locked(clp, &lock->lk_new_owner); &lock->lk_new_owner, clp); if (ret == NULL) { if (ret == NULL) { list_add(&lo->lo_owner.so_strhash, list_add(&lo->lo_owner.so_strhash, &clp->cl_ownerstr_hashtbl[strhashval]); &clp->cl_ownerstr_hashtbl[strhashval]); Loading Loading @@ -5326,7 +5323,7 @@ lookup_or_create_lock_state(struct nfsd4_compound_state *cstate, struct nfs4_lockowner *lo; struct nfs4_lockowner *lo; unsigned int strhashval; unsigned int strhashval; lo = find_lockowner_str(&cl->cl_clientid, &lock->lk_new_owner, cl); lo = find_lockowner_str(cl, &lock->lk_new_owner); if (!lo) { if (!lo) { strhashval = ownerstr_hashval(&lock->lk_new_owner); strhashval = ownerstr_hashval(&lock->lk_new_owner); lo = alloc_init_lock_stateowner(strhashval, cl, ost, lock); lo = alloc_init_lock_stateowner(strhashval, cl, ost, lock); Loading Loading @@ -5601,8 +5598,7 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, goto out; goto out; } } lo = find_lockowner_str(&lockt->lt_clientid, &lockt->lt_owner, lo = find_lockowner_str(cstate->clp, &lockt->lt_owner); cstate->clp); if (lo) if (lo) file_lock->fl_owner = (fl_owner_t)lo; file_lock->fl_owner = (fl_owner_t)lo; file_lock->fl_pid = current->tgid; file_lock->fl_pid = current->tgid; Loading Loading
fs/nfsd/nfs4state.c +6 −10 Original line number Original line Diff line number Diff line Loading @@ -5136,8 +5136,7 @@ nfs4_set_lock_denied(struct file_lock *fl, struct nfsd4_lock_denied *deny) } } static struct nfs4_lockowner * static struct nfs4_lockowner * find_lockowner_str_locked(clientid_t *clid, struct xdr_netobj *owner, find_lockowner_str_locked(struct nfs4_client *clp, struct xdr_netobj *owner) struct nfs4_client *clp) { { unsigned int strhashval = ownerstr_hashval(owner); unsigned int strhashval = ownerstr_hashval(owner); struct nfs4_stateowner *so; struct nfs4_stateowner *so; Loading @@ -5155,13 +5154,12 @@ find_lockowner_str_locked(clientid_t *clid, struct xdr_netobj *owner, } } static struct nfs4_lockowner * static struct nfs4_lockowner * find_lockowner_str(clientid_t *clid, struct xdr_netobj *owner, find_lockowner_str(struct nfs4_client *clp, struct xdr_netobj *owner) struct nfs4_client *clp) { { struct nfs4_lockowner *lo; struct nfs4_lockowner *lo; spin_lock(&clp->cl_lock); spin_lock(&clp->cl_lock); lo = find_lockowner_str_locked(clid, owner, clp); lo = find_lockowner_str_locked(clp, owner); spin_unlock(&clp->cl_lock); spin_unlock(&clp->cl_lock); return lo; return lo; } } Loading Loading @@ -5205,8 +5203,7 @@ alloc_init_lock_stateowner(unsigned int strhashval, struct nfs4_client *clp, lo->lo_owner.so_seqid = lock->lk_new_lock_seqid; lo->lo_owner.so_seqid = lock->lk_new_lock_seqid; lo->lo_owner.so_ops = &lockowner_ops; lo->lo_owner.so_ops = &lockowner_ops; spin_lock(&clp->cl_lock); spin_lock(&clp->cl_lock); ret = find_lockowner_str_locked(&clp->cl_clientid, ret = find_lockowner_str_locked(clp, &lock->lk_new_owner); &lock->lk_new_owner, clp); if (ret == NULL) { if (ret == NULL) { list_add(&lo->lo_owner.so_strhash, list_add(&lo->lo_owner.so_strhash, &clp->cl_ownerstr_hashtbl[strhashval]); &clp->cl_ownerstr_hashtbl[strhashval]); Loading Loading @@ -5326,7 +5323,7 @@ lookup_or_create_lock_state(struct nfsd4_compound_state *cstate, struct nfs4_lockowner *lo; struct nfs4_lockowner *lo; unsigned int strhashval; unsigned int strhashval; lo = find_lockowner_str(&cl->cl_clientid, &lock->lk_new_owner, cl); lo = find_lockowner_str(cl, &lock->lk_new_owner); if (!lo) { if (!lo) { strhashval = ownerstr_hashval(&lock->lk_new_owner); strhashval = ownerstr_hashval(&lock->lk_new_owner); lo = alloc_init_lock_stateowner(strhashval, cl, ost, lock); lo = alloc_init_lock_stateowner(strhashval, cl, ost, lock); Loading Loading @@ -5601,8 +5598,7 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, goto out; goto out; } } lo = find_lockowner_str(&lockt->lt_clientid, &lockt->lt_owner, lo = find_lockowner_str(cstate->clp, &lockt->lt_owner); cstate->clp); if (lo) if (lo) file_lock->fl_owner = (fl_owner_t)lo; file_lock->fl_owner = (fl_owner_t)lo; file_lock->fl_pid = current->tgid; file_lock->fl_pid = current->tgid; Loading