From patchwork Wed May 30 05:36:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Mendoza-Jonas X-Patchwork-Id: 922535 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40wfVV6g5Zz9s08 for ; Wed, 30 May 2018 15:37:06 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mendozajonas.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="OB1neIVu"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="BGF+oMRx"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 40wfVV4kJ5zDrJD for ; Wed, 30 May 2018 15:37:06 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=mendozajonas.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="OB1neIVu"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="BGF+oMRx"; dkim-atps=neutral X-Original-To: petitboot@lists.ozlabs.org Delivered-To: petitboot@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=mendozajonas.com (client-ip=66.111.4.25; helo=out1-smtp.messagingengine.com; envelope-from=sam@mendozajonas.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=mendozajonas.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="OB1neIVu"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="BGF+oMRx"; dkim-atps=neutral Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 40wfVH4N5nzDr5J for ; Wed, 30 May 2018 15:36:55 +1000 (AEST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 1274921B73; Wed, 30 May 2018 01:36:53 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 30 May 2018 01:36:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= mendozajonas.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=GrDzLTHHFn4Vu9jWz a8N5VXJUIqRDg0C8PWh8DHtXrg=; b=OB1neIVu6pir3jDceMg3BTaaoyBN+uaPc oap2Tpxe1Y9U20Mu+4ymhBdwEmZ6C48IF12rIEjnRSW+YE0m4pPGIKiLzQzEUQBs 0OU7M7n+pF5Ugzx/5oV1elKHUB8NGuqKuCxuLCDqx0mPS/kvuwgGjBFpu4iCkY1f gFDaursQYM4wo8exhPdddNtNa4C00uloojfPsb7CSdT7Ti0AJvaL7WTxeb/DcKwg Yr0VcbUp8Wi22YNHtDHGc65l2Zv4FNmP2qns5nMIdVAyQionEjSYvX8SALJxT365 Wg+cRn0w9ynMXjyp9iOr7TNB3ng+IAfOUx4IuNjQsIx9L7ChPr1xg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=GrDzLTHHFn4Vu9jWz a8N5VXJUIqRDg0C8PWh8DHtXrg=; b=BGF+oMRxm+aHqh11VCp7tc9lhpK/IPZbL hCYtBNDYTqloXPm970beJopf6d7nedn0Qh8CyVs5GPawaE65v2lQZd3VQ0g27vKL 0POMswqaOY+BKe7zgEwSPGKyIOwkHgZLbHCne9COJOtwXvZmIlJUtjPI4VQdLr4d yOP3skhPbySm38TqDrkBfpzWAHKtwB/vmE095aDUr7PWqdbl7SKDMTxjlFTgIrGt 1FlF2JYjGOhgOI8ZJXzUXI51quIIcBHnRZ7wGXEzLbPs42n0IZWGuXlGg8MvnHn1 2sBh8sx9qghd37J1hDSUSOTQH/nyQy8mqk/zT+XtMAF91YFCC95lA== X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Sender: Received: from v4.ozlabs.ibm.com (unknown [122.99.82.10]) by mail.messagingengine.com (Postfix) with ESMTPA id BF974E40A3; Wed, 30 May 2018 01:36:51 -0400 (EDT) From: Samuel Mendoza-Jonas To: petitboot@lists.ozlabs.org Subject: [PATCH] discover: Rescan SCSI devices on reinit Date: Wed, 30 May 2018 15:36:45 +1000 Message-Id: <20180530053645.9483-1-sam@mendozajonas.com> X-Mailer: git-send-email 2.17.0 X-BeenThere: petitboot@lists.ozlabs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Petitboot bootloader development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Samuel Mendoza-Jonas MIME-Version: 1.0 Errors-To: petitboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Petitboot" Explicitly rescan SCSI devices on reinit rather than just remounting them in case a device did not init properly on boot. Signed-off-by: Samuel Mendoza-Jonas --- configure.ac | 1 + discover/device-handler.c | 3 +++ lib/system/system.c | 1 + lib/system/system.h | 1 + utils/Makefile.am | 3 ++- utils/scsi-rescan | 5 +++++ 6 files changed, 13 insertions(+), 1 deletion(-) create mode 100755 utils/scsi-rescan diff --git a/configure.ac b/configure.ac index bdd7f70..9eb0855 100644 --- a/configure.ac +++ b/configure.ac @@ -343,6 +343,7 @@ DEFINE_HOST_PROG(VGCHANGE, vgchange, [/usr/sbin/vgchange]) DEFINE_HOST_PROG(PB_PLUGIN, pb-plugin, [/usr/sbin/pb-plugin]) DEFINE_HOST_PROG(PB_EXEC, pb-exec, [/usr/sbin/pb-exec]) DEFINE_HOST_PROG(SH, sh, [/bin/sh]) +DEFINE_HOST_PROG(SCSI_RESCAN, scsi-rescan, [/usr/sbin/scsi-rescan]) AC_ARG_WITH( [tftp], diff --git a/discover/device-handler.c b/discover/device-handler.c index 569e652..aa61bd2 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -451,6 +451,9 @@ void device_handler_reinit(struct device_handler *handler) discover_server_notify_config(handler->server, config); } + /* Force rediscovery on SCSI devices */ + process_run_simple(handler, pb_system_apps.scsi_rescan, NULL); + device_handler_reinit_sources(handler); } diff --git a/lib/system/system.c b/lib/system/system.c index b1121a1..6dafcb0 100644 --- a/lib/system/system.c +++ b/lib/system/system.c @@ -33,6 +33,7 @@ const struct pb_system_apps pb_system_apps = { .pb_plugin = HOST_PROG_PB_PLUGIN, .pb_exec = HOST_PROG_PB_EXEC, .sh = HOST_PROG_SH, + .scsi_rescan = HOST_PROG_SCSI_RESCAN, }; #ifndef TFTP_TYPE diff --git a/lib/system/system.h b/lib/system/system.h index d27c2cd..38fe392 100644 --- a/lib/system/system.h +++ b/lib/system/system.h @@ -18,6 +18,7 @@ struct pb_system_apps { const char *pb_plugin; const char *pb_exec; const char *sh; + const char *scsi_rescan; }; extern const struct pb_system_apps pb_system_apps; diff --git a/utils/Makefile.am b/utils/Makefile.am index c9015a0..a523430 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -12,7 +12,8 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -dist_sbin_SCRIPTS += utils/pb-udhcpc utils/pb-plugin utils/pb-sos utils/pb-exec +dist_sbin_SCRIPTS += utils/pb-udhcpc utils/pb-plugin utils/pb-sos \ + utils/pb-exec utils/scsi-rescan dist_pkglibexec_SCRIPTS = utils/pb-console sbin_PROGRAMS += utils/pb-event utils/pb-config diff --git a/utils/scsi-rescan b/utils/scsi-rescan new file mode 100755 index 0000000..1d1cb1b --- /dev/null +++ b/utils/scsi-rescan @@ -0,0 +1,5 @@ +#/bin/sh + +for host in /sys/class/scsi_host/host*; do + echo "- - -" > ${host}/scan +done