aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2006-07-28 14:00:20 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-07-31 15:44:29 -0400
commitde9b75d31e81e87685d8cc70052a003c654f1e8e (patch)
tree0af16068399368810bf4358893e477b64271ff4b
parent420b9e5e45d33355471c8d2d593bb0e5d6c77421 (diff)
[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.c2
-rw-r--r--include/linux/lock_dlm_plock.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/gfs2/locking/dlm/plock.c b/fs/gfs2/locking/dlm/plock.c
index 6adfb2d4fd8..e5b11f0688f 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 007b07a178a..fc341511397 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