diff options
Diffstat (limited to 'fs')
-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 |