lockowner
nlmclnt_get_lockowner(struct nlm_lockowner *lockowner)
refcount_inc(&lockowner->count);
return lockowner;
static void nlmclnt_put_lockowner(struct nlm_lockowner *lockowner)
if (!refcount_dec_and_lock(&lockowner->count, &lockowner->host->h_lock))
list_del(&lockowner->list);
spin_unlock(&lockowner->host->h_lock);
nlmclnt_release_host(lockowner->host);
kfree(lockowner);
struct nlm_lockowner *lockowner;
list_for_each_entry(lockowner, &host->h_lockowners, list) {
if (lockowner->pid == pid)
struct nlm_lockowner *lockowner;
list_for_each_entry(lockowner, &host->h_lockowners, list) {
if (lockowner->owner != owner)
return nlmclnt_get_lockowner(lockowner);
nlmsvc_get_lockowner(struct nlm_lockowner *lockowner)
refcount_inc(&lockowner->count);
return lockowner;
void nlmsvc_put_lockowner(struct nlm_lockowner *lockowner)
if (!refcount_dec_and_lock(&lockowner->count, &lockowner->host->h_lock))
list_del(&lockowner->list);
spin_unlock(&lockowner->host->h_lock);
nlmsvc_release_host(lockowner->host);
kfree(lockowner);
struct nlm_lockowner *lockowner;
list_for_each_entry(lockowner, &host->h_lockowners, list) {
if (lockowner->pid != pid)
return nlmsvc_get_lockowner(lockowner);
l_ctx->lockowner = current->files;
if (pos->lockowner != current->files)
owner = l_ctx->lockowner;
return l1->lockowner == l2->lockowner;
do_flush |= l_ctx->lockowner != current->files;
struct nfs4_lockowner *lo = lockowner(stp->st_stateowner);
lockowner(stp->st_stateowner);
remove_blocked_locks(lockowner(so));
lo = lockowner(so);
lockowner(stp->st_stateowner)))
return lockowner(nfs4_get_stateowner(so));
unhash_lockowner_locked(lockowner(sop));
struct nfs4_lockowner *lo = lockowner(sop);
lock_sop = lockowner(lock_stp->st_stateowner);
file_lock->c.flc_owner = (fl_owner_t)lockowner(nfs4_get_stateowner(&lock_sop->lo_owner));
file_lock->c.flc_owner = (fl_owner_t)lockowner(nfs4_get_stateowner(stp->st_stateowner));
fl_owner_t lockowner;