lockd: Show pid of lockd for remote locks
Use the pid of lockd instead of the remote lock's svid for the fl_pid for local POSIX locks. This allows proper enumeration of which local process owns which lock. The svid is meaningless to local lock readers. Signed-off-by: Benjamin Coddington <bcodding@redhat.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:

zatwierdzone przez
J. Bruce Fields

rodzic
9adfac6d73
commit
646d73e91b
@@ -432,7 +432,7 @@ static int nlmsvc_setgrantargs(struct nlm_rqst *call, struct nlm_lock *lock)
|
||||
|
||||
/* set default data area */
|
||||
call->a_args.lock.oh.data = call->a_owner;
|
||||
call->a_args.lock.svid = lock->fl.fl_pid;
|
||||
call->a_args.lock.svid = ((struct nlm_lockowner *)lock->fl.fl_owner)->pid;
|
||||
|
||||
if (lock->oh.len > NLMCLNT_OHSIZE) {
|
||||
void *data = kmalloc(lock->oh.len, GFP_KERNEL);
|
||||
@@ -634,7 +634,7 @@ nlmsvc_testlock(struct svc_rqst *rqstp, struct nlm_file *file,
|
||||
conflock->caller = "somehost"; /* FIXME */
|
||||
conflock->len = strlen(conflock->caller);
|
||||
conflock->oh.len = 0; /* don't return OH info */
|
||||
conflock->svid = lock->fl.fl_pid;
|
||||
conflock->svid = ((struct nlm_lockowner *)lock->fl.fl_owner)->pid;
|
||||
conflock->fl.fl_type = lock->fl.fl_type;
|
||||
conflock->fl.fl_start = lock->fl.fl_start;
|
||||
conflock->fl.fl_end = lock->fl.fl_end;
|
||||
|
Reference in New Issue
Block a user