summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2023-05-19 18:21:24 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-07-23 14:49:38 +0300
commit3346ffdee42b962aa2bb691f7de7e2e4a3db209f (patch)
tree9e3bbe408b516d8d30a8658f6c9202ef0f1f38ff /fs
parentbe19cb67165143212c6e136de200d26dce5b5ee6 (diff)
downloadlinux-3346ffdee42b962aa2bb691f7de7e2e4a3db209f.tar.xz
fs: dlm: return positive pid value for F_GETLK
commit 92655fbda5c05950a411eaabc19e025e86e2a291 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/dlm/plock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c
index 737f185aad8d..b2d3f52dab9b 100644
--- a/fs/dlm/plock.c
+++ b/fs/dlm/plock.c
@@ -359,7 +359,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;