diff options
author | David Teigland <teigland@redhat.com> | 2006-07-28 14:00:20 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-07-31 15:44:29 -0400 |
commit | de9b75d31e81e87685d8cc70052a003c654f1e8e (patch) | |
tree | 0af16068399368810bf4358893e477b64271ff4b | |
parent | 420b9e5e45d33355471c8d2d593bb0e5d6c77421 (diff) | |
download | blackbird-op-linux-de9b75d31e81e87685d8cc70052a003c654f1e8e.tar.gz blackbird-op-linux-de9b75d31e81e87685d8cc70052a003c654f1e8e.zip |
[GFS2] add plock owner
We need to use fl_owner instead of fl_pid to track the owner of a posix
lock. Pass the owner value out to user space where cluster plocks are
managed.
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r-- | fs/gfs2/locking/dlm/plock.c | 2 | ||||
-rw-r--r-- | include/linux/lock_dlm_plock.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/gfs2/locking/dlm/plock.c b/fs/gfs2/locking/dlm/plock.c index 6adfb2d4fd8c..e5b11f0688f6 100644 --- a/fs/gfs2/locking/dlm/plock.c +++ b/fs/gfs2/locking/dlm/plock.c @@ -77,6 +77,7 @@ int gdlm_plock(lm_lockspace_t *lockspace, struct lm_lockname *name, op->info.number = name->ln_number; op->info.start = fl->fl_start; op->info.end = fl->fl_end; + op->info.owner = (__u64)(long) fl->fl_owner; send_op(op); wait_event(recv_wq, (op->done != 0)); @@ -122,6 +123,7 @@ int gdlm_punlock(lm_lockspace_t *lockspace, struct lm_lockname *name, op->info.number = name->ln_number; op->info.start = fl->fl_start; op->info.end = fl->fl_end; + op->info.owner = (__u64)(long) fl->fl_owner; send_op(op); wait_event(recv_wq, (op->done != 0)); diff --git a/include/linux/lock_dlm_plock.h b/include/linux/lock_dlm_plock.h index 007b07a178ab..fc3415113973 100644 --- a/include/linux/lock_dlm_plock.h +++ b/include/linux/lock_dlm_plock.h @@ -12,7 +12,7 @@ #define GDLM_PLOCK_MISC_NAME "lock_dlm_plock" #define GDLM_PLOCK_VERSION_MAJOR 1 -#define GDLM_PLOCK_VERSION_MINOR 0 +#define GDLM_PLOCK_VERSION_MINOR 1 #define GDLM_PLOCK_VERSION_PATCH 0 enum { @@ -34,6 +34,7 @@ struct gdlm_plock_info { __u64 number; __u64 start; __u64 end; + __u64 owner; }; #endif |