From: NeilBrown It's OK for the find_lockstateowner_str to fail; that just means we haven't seen the lockowner, and will compare the request range to all locks on the file. --- fs/nfsd/nfs4state.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-) diff -puN fs/nfsd/nfs4state.c~knfsd-nfs4-locking-state-fix fs/nfsd/nfs4state.c --- 25/fs/nfsd/nfs4state.c~knfsd-nfs4-locking-state-fix 2004-02-25 02:32:07.000000000 -0800 +++ 25-akpm/fs/nfsd/nfs4state.c 2004-02-25 02:32:07.000000000 -0800 @@ -1994,13 +1994,9 @@ nfsd4_lockt(struct svc_rqst *rqstp, stru strhashval = lock_ownerstr_hashval(inode, lockt->lt_clientid.cl_id, lockt->lt_owner); - if (find_lockstateowner_str(strhashval, &lockt->lt_owner, + find_lockstateowner_str(strhashval, &lockt->lt_owner, &lockt->lt_clientid, - &lockt->lt_stateowner)) { - printk("NFSD: nsfd4_lockt: lookup_lockowner() failed!\n"); - goto out; - } - + &lockt->lt_stateowner); sop = lockt->lt_stateowner; if (sop) { file_lock.fl_owner = (fl_owner_t) sop; _