|
@@ -1133,6 +1133,17 @@ void gfs2_lm_unmount(struct gfs2_sbd *sdp)
|
|
|
lm->lm_unmount(sdp);
|
|
|
}
|
|
|
|
|
|
+void gfs2_online_uevent(struct gfs2_sbd *sdp)
|
|
|
+{
|
|
|
+ struct super_block *sb = sdp->sd_vfs;
|
|
|
+ char ro[20];
|
|
|
+ char spectator[20];
|
|
|
+ char *envp[] = { ro, spectator, NULL };
|
|
|
+ sprintf(ro, "RDONLY=%d", (sb->s_flags & MS_RDONLY) ? 1 : 0);
|
|
|
+ sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0);
|
|
|
+ kobject_uevent_env(&sdp->sd_kobj, KOBJ_ONLINE, envp);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* fill_super - Read in superblock
|
|
|
* @sb: The VFS superblock
|
|
@@ -1236,7 +1247,7 @@ static int fill_super(struct super_block *sb, void *data, int silent)
|
|
|
}
|
|
|
|
|
|
gfs2_glock_dq_uninit(&mount_gh);
|
|
|
-
|
|
|
+ gfs2_online_uevent(sdp);
|
|
|
return 0;
|
|
|
|
|
|
fail_threads:
|