git: 2ce1c45b3411 - main - iscsi: adjust shutdown_pre_sync handler
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 23 Nov 2023 16:08:02 UTC
The branch main has been updated by mhorne:
URL: https://cgit.FreeBSD.org/src/commit/?id=2ce1c45b3411410a5d0a4d08198a3b0010d493b7
commit 2ce1c45b3411410a5d0a4d08198a3b0010d493b7
Author: Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2023-11-23 15:26:12 +0000
Commit: Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2023-11-23 16:07:42 +0000
iscsi: adjust shutdown_pre_sync handler
Don't attempt to service reconnections if RB_NOSYNC is set. More
crucially, don't do it if the scheduler is stopped, as the maintenance
thread will never run again.
Reviewed by: jhb
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D42342
---
sys/dev/iscsi/iscsi.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c
index 311b339caf7a..38973898a9d1 100644
--- a/sys/dev/iscsi/iscsi.c
+++ b/sys/dev/iscsi/iscsi.c
@@ -44,6 +44,7 @@
#include <sys/mbuf.h>
#include <sys/mutex.h>
#include <sys/module.h>
+#include <sys/proc.h>
#include <sys/reboot.h>
#include <sys/socket.h>
#include <sys/sockopt.h>
@@ -2680,11 +2681,12 @@ iscsi_terminate_sessions(struct iscsi_softc *sc)
}
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;
/*