diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -2680,11 +2681,12 @@ } static void -iscsi_shutdown_pre(struct iscsi_softc *sc) +iscsi_shutdown_pre(struct iscsi_softc *sc, int howto) { struct iscsi_session *is; - if (!fail_on_shutdown) + if (!fail_on_shutdown || (howto & RB_NOSYNC) != 0 || + SCHEDULER_STOPPED()) return; /*