diff options
author | Alexander Aring <aahringo@redhat.com> | 2023-05-19 11:21:24 -0400 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2023-05-22 13:34:47 -0500 |
commit | 92655fbda5c05950a411eaabc19e025e86e2a291 (patch) | |
tree | 409d59a73e6364c25fec5e029165e4072581bfd9 /fs/dlm | |
parent | 35d6df53b91632e8b20d3bd23510e68799c47a25 (diff) |
fs: dlm: return positive pid value for F_GETLK
The GETLK pid values have all been negated since commit 9d5b86ac13c5
("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks").
Revert this for local pids, and leave in place negative pids for remote
owners.
Cc: stable@vger.kernel.org
Fixes: 9d5b86ac13c5 ("fs/locks: Remove fl_nspid and use fs-specific l_pid for remote locks")
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm')
-rw-r--r-- | fs/dlm/plock.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index ed4357e62f35..ff364901f22b 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c @@ -360,7 +360,9 @@ int dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, struct file *file, locks_init_lock(fl); fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; fl->fl_flags = FL_POSIX; - fl->fl_pid = -op->info.pid; + fl->fl_pid = op->info.pid; + if (op->info.nodeid != dlm_our_nodeid()) + fl->fl_pid = -fl->fl_pid; fl->fl_start = op->info.start; fl->fl_end = op->info.end; rv = 0; |