forked from Minki/linux
[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>
This commit is contained in:
parent
420b9e5e45
commit
de9b75d31e
@ -77,6 +77,7 @@ int gdlm_plock(lm_lockspace_t *lockspace, struct lm_lockname *name,
|
|||||||
op->info.number = name->ln_number;
|
op->info.number = name->ln_number;
|
||||||
op->info.start = fl->fl_start;
|
op->info.start = fl->fl_start;
|
||||||
op->info.end = fl->fl_end;
|
op->info.end = fl->fl_end;
|
||||||
|
op->info.owner = (__u64)(long) fl->fl_owner;
|
||||||
|
|
||||||
send_op(op);
|
send_op(op);
|
||||||
wait_event(recv_wq, (op->done != 0));
|
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.number = name->ln_number;
|
||||||
op->info.start = fl->fl_start;
|
op->info.start = fl->fl_start;
|
||||||
op->info.end = fl->fl_end;
|
op->info.end = fl->fl_end;
|
||||||
|
op->info.owner = (__u64)(long) fl->fl_owner;
|
||||||
|
|
||||||
send_op(op);
|
send_op(op);
|
||||||
wait_event(recv_wq, (op->done != 0));
|
wait_event(recv_wq, (op->done != 0));
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#define GDLM_PLOCK_MISC_NAME "lock_dlm_plock"
|
#define GDLM_PLOCK_MISC_NAME "lock_dlm_plock"
|
||||||
|
|
||||||
#define GDLM_PLOCK_VERSION_MAJOR 1
|
#define GDLM_PLOCK_VERSION_MAJOR 1
|
||||||
#define GDLM_PLOCK_VERSION_MINOR 0
|
#define GDLM_PLOCK_VERSION_MINOR 1
|
||||||
#define GDLM_PLOCK_VERSION_PATCH 0
|
#define GDLM_PLOCK_VERSION_PATCH 0
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -34,6 +34,7 @@ struct gdlm_plock_info {
|
|||||||
__u64 number;
|
__u64 number;
|
||||||
__u64 start;
|
__u64 start;
|
||||||
__u64 end;
|
__u64 end;
|
||||||
|
__u64 owner;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user