diff options
| -rw-r--r-- | fs/gfs2/locking/dlm/mount.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/fs/gfs2/locking/dlm/mount.c b/fs/gfs2/locking/dlm/mount.c index 0c4cbe6c8285..1aa7eb6a0226 100644 --- a/fs/gfs2/locking/dlm/mount.c +++ b/fs/gfs2/locking/dlm/mount.c | |||
| @@ -194,17 +194,25 @@ out: | |||
| 194 | static void gdlm_recovery_done(void *lockspace, unsigned int jid, | 194 | static void gdlm_recovery_done(void *lockspace, unsigned int jid, |
| 195 | unsigned int message) | 195 | unsigned int message) |
| 196 | { | 196 | { |
| 197 | char env_jid[20]; | ||
| 198 | char env_status[20]; | ||
| 199 | char *envp[] = { env_jid, env_status, NULL }; | ||
| 197 | struct gdlm_ls *ls = lockspace; | 200 | struct gdlm_ls *ls = lockspace; |
| 198 | ls->recover_jid_done = jid; | 201 | ls->recover_jid_done = jid; |
| 199 | ls->recover_jid_status = message; | 202 | ls->recover_jid_status = message; |
| 200 | kobject_uevent(&ls->kobj, KOBJ_CHANGE); | 203 | sprintf(env_jid, "JID=%d", jid); |
| 204 | sprintf(env_status, "RECOVERY=%s", | ||
| 205 | message == LM_RD_SUCCESS ? "Done" : "Failed"); | ||
| 206 | kobject_uevent_env(&ls->kobj, KOBJ_CHANGE, envp); | ||
| 201 | } | 207 | } |
| 202 | 208 | ||
| 203 | static void gdlm_others_may_mount(void *lockspace) | 209 | static void gdlm_others_may_mount(void *lockspace) |
| 204 | { | 210 | { |
| 211 | char *message = "FIRSTMOUNT=Done"; | ||
| 212 | char *envp[] = { message, NULL }; | ||
| 205 | struct gdlm_ls *ls = lockspace; | 213 | struct gdlm_ls *ls = lockspace; |
| 206 | ls->first_done = 1; | 214 | ls->first_done = 1; |
| 207 | kobject_uevent(&ls->kobj, KOBJ_CHANGE); | 215 | kobject_uevent_env(&ls->kobj, KOBJ_CHANGE, envp); |
| 208 | } | 216 | } |
| 209 | 217 | ||
| 210 | /* Userspace gets the offline uevent, blocks new gfs locks on | 218 | /* Userspace gets the offline uevent, blocks new gfs locks on |
