int lustre_put_lsi(struct super_block *sb);
int lustre_start_simple(char *obdname, char *type, char *uuid,
char *s1, char *s2, char *s3, char *s4);
+int lustre_stop_mgc(struct super_block *sb);
#endif /* HAVE_SERVER_SUPPORT */
int server_name2fsname(const char *svname, char *fsname, const char **endptr);
void obdname2fsname(const char *tgt, char *fsname, size_t fslen);
}
EXPORT_SYMBOL(lustre_start_mgc);
-static int lustre_stop_mgc(struct super_block *sb)
+int lustre_stop_mgc(struct super_block *sb)
{
struct lustre_sb_info *lsi = s2lsi(sb);
struct obd_device *obd;
mutex_unlock(&mgc_start_lock);
RETURN(rc);
}
+EXPORT_SYMBOL(lustre_stop_mgc);
/***************** lustre superblock **************/
/* If they wanted the mgs to stop separately from the mdt, they
* should have put it on a different device.
*/
+ lustre_stop_mgc(sb);
if (IS_MGS(lsi)) {
/* if MDS start with --nomgs, don't stop MGS then */
if (!(lsi->lsi_lmd->lmd_flags & LMD_FLG_NOMGS))
CERROR("%s: failed to stop lwp!\n", tmpname);
}
- /* Clean the mgc and sb */
- lustre_common_put_super(sb);
+ /* Drop a ref to the mounted disk */
+ lustre_put_lsi(sb);
/* wait till all in-progress cleanups are done
* specifically we're interested in ofd cleanup