From 6dca052cb76095548198124a1ccd0b02585d18ea Mon Sep 17 00:00:00 2001 From: David Teigland Date: Wed, 26 Apr 2006 15:56:35 -0400 Subject: [PATCH] --- yaml --- r: 38670 b: refs/heads/master c: 6bd70aba5ab453459bb53b1e29f0e0650d6c311f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/gfs2/locking/dlm/lock_dlm.h | 1 + trunk/fs/gfs2/locking/dlm/mount.c | 1 + trunk/fs/gfs2/locking/dlm/sysfs.c | 25 ++++++++++++++++--------- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 8dab0156d796..bba85842bf29 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 579b78a43b366d51f9c888afaf1eab1f4ea599fa +refs/heads/master: 6bd70aba5ab453459bb53b1e29f0e0650d6c311f diff --git a/trunk/fs/gfs2/locking/dlm/lock_dlm.h b/trunk/fs/gfs2/locking/dlm/lock_dlm.h index 6d76146953ce..e6c1e4786fec 100644 --- a/trunk/fs/gfs2/locking/dlm/lock_dlm.h +++ b/trunk/fs/gfs2/locking/dlm/lock_dlm.h @@ -70,6 +70,7 @@ struct gdlm_ls { lm_fsdata_t *fsdata; int recover_jid; int recover_jid_done; + int recover_jid_status; spinlock_t async_lock; struct list_head complete; struct list_head blocking; diff --git a/trunk/fs/gfs2/locking/dlm/mount.c b/trunk/fs/gfs2/locking/dlm/mount.c index 026f05ce168d..aa79fbecaf6a 100644 --- a/trunk/fs/gfs2/locking/dlm/mount.c +++ b/trunk/fs/gfs2/locking/dlm/mount.c @@ -203,6 +203,7 @@ static void gdlm_recovery_done(lm_lockspace_t *lockspace, unsigned int jid, { struct gdlm_ls *ls = (struct gdlm_ls *) lockspace; ls->recover_jid_done = jid; + ls->recover_jid_status = message; kobject_uevent(&ls->kobj, KOBJ_CHANGE); } diff --git a/trunk/fs/gfs2/locking/dlm/sysfs.c b/trunk/fs/gfs2/locking/dlm/sysfs.c index e1e5186c97c9..0d8bd0806dba 100644 --- a/trunk/fs/gfs2/locking/dlm/sysfs.c +++ b/trunk/fs/gfs2/locking/dlm/sysfs.c @@ -110,6 +110,11 @@ static ssize_t recover_done_show(struct gdlm_ls *ls, char *buf) return sprintf(buf, "%d\n", ls->recover_jid_done); } +static ssize_t recover_status_show(struct gdlm_ls *ls, char *buf) +{ + return sprintf(buf, "%d\n", ls->recover_jid_status); +} + struct gdlm_attr { struct attribute attr; ssize_t (*show)(struct gdlm_ls *, char *); @@ -119,15 +124,16 @@ struct gdlm_attr { #define GDLM_ATTR(_name,_mode,_show,_store) \ static struct gdlm_attr gdlm_attr_##_name = __ATTR(_name,_mode,_show,_store) -GDLM_ATTR(proto_name, 0444, proto_name_show, NULL); -GDLM_ATTR(block, 0644, block_show, block_store); -GDLM_ATTR(withdraw, 0644, withdraw_show, withdraw_store); -GDLM_ATTR(id, 0444, id_show, NULL); -GDLM_ATTR(jid, 0444, jid_show, NULL); -GDLM_ATTR(first, 0444, first_show, NULL); -GDLM_ATTR(first_done, 0444, first_done_show, NULL); -GDLM_ATTR(recover, 0644, recover_show, recover_store); -GDLM_ATTR(recover_done, 0444, recover_done_show, NULL); +GDLM_ATTR(proto_name, 0444, proto_name_show, NULL); +GDLM_ATTR(block, 0644, block_show, block_store); +GDLM_ATTR(withdraw, 0644, withdraw_show, withdraw_store); +GDLM_ATTR(id, 0444, id_show, NULL); +GDLM_ATTR(jid, 0444, jid_show, NULL); +GDLM_ATTR(first, 0444, first_show, NULL); +GDLM_ATTR(first_done, 0444, first_done_show, NULL); +GDLM_ATTR(recover, 0644, recover_show, recover_store); +GDLM_ATTR(recover_done, 0444, recover_done_show, NULL); +GDLM_ATTR(recover_status, 0444, recover_status_show, NULL); static struct attribute *gdlm_attrs[] = { &gdlm_attr_proto_name.attr, @@ -139,6 +145,7 @@ static struct attribute *gdlm_attrs[] = { &gdlm_attr_first_done.attr, &gdlm_attr_recover.attr, &gdlm_attr_recover_done.attr, + &gdlm_attr_recover_status.attr, NULL, };