diff --git a/lustre/obdclass/obd_mount.c b/lustre/obdclass/obd_mount.c index ced0769cba266842079b4fbeb2c0d98609121cfc..5c24bf1665a8281c6bfb9eadb35b26c950bd2a63 100644 --- a/lustre/obdclass/obd_mount.c +++ b/lustre/obdclass/obd_mount.c @@ -770,11 +770,9 @@ static int lustre_stop_mgc(struct super_block *sb) GOTO(out, rc = -EBUSY); } - /* MGC must always stop */ - obd->obd_force = 1; - /* client_disconnect_export uses the no_recov flag to decide whether it - should disconnect or just invalidate. (The MGC has no - recoverable data in any case.) */ + /* MGC should disconnect nicely so MGS won't print eviction messages */ + obd->obd_force = (lsi->lsi_flags & LSI_UMOUNT_FORCE) != 0; + /* The MGC has no recoverable data in any case. */ obd->obd_no_recov = 1; if (obd->u.cli.cl_mgc_mgsexp)