From: Christoph Hellwig <hch@lst.de>
To: Hannes Reinecke <hare@suse.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
Christoph Hellwig <hch@lst.de>,
James Bottomley <james.bottomley@hansenpartnership.com>,
linux-scsi@vger.kernel.org
Subject: Re: [PATCHv2] scsi: disable automatic target scan
Date: Tue, 15 Mar 2016 14:36:17 +0100 [thread overview]
Message-ID: <20160315133617.GA18668@lst.de> (raw)
In-Reply-To: <1458026382-43338-1-git-send-email-hare@suse.de>
On Tue, Mar 15, 2016 at 08:19:42AM +0100, Hannes Reinecke wrote:
> On larger installations it is useful to disable automatic LUN
> scanning, and only add the required LUNs via udev rules.
> This can speed up bootup dramatically.
>
> This patch introduces a new scan module parameter value 'manual',
> which works like 'none', but can be overriden by setting the 'rescan'
> value from scsi_scan_target to 'SCSI_SCAN_MANUAL'.
> And it updates all relevant callers to set the 'rescan' value
> to 'SCSI_SCAN_MANUAL' if invoked via the 'scan' option in sysfs.
>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
> drivers/scsi/scsi_scan.c | 25 ++++++++++++++++++-------
> drivers/scsi/scsi_sysfs.c | 3 ++-
> drivers/scsi/scsi_transport_fc.c | 3 ++-
> drivers/scsi/scsi_transport_iscsi.c | 2 +-
> drivers/scsi/scsi_transport_sas.c | 4 ++--
> include/scsi/scsi_device.h | 6 ++++++
> 6 files changed, 31 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> index 97074c9..54dc517 100644
> --- a/drivers/scsi/scsi_scan.c
> +++ b/drivers/scsi/scsi_scan.c
> @@ -96,10 +96,13 @@ MODULE_PARM_DESC(max_luns,
> #define SCSI_SCAN_TYPE_DEFAULT "sync"
> #endif
>
> -char scsi_scan_type[6] = SCSI_SCAN_TYPE_DEFAULT;
> +char scsi_scan_type[7] = SCSI_SCAN_TYPE_DEFAULT;
>
> -module_param_string(scan, scsi_scan_type, sizeof(scsi_scan_type), S_IRUGO);
> -MODULE_PARM_DESC(scan, "sync, async or none");
> +module_param_string(scan, scsi_scan_type, sizeof(scsi_scan_type),
> + S_IRUGO|S_IWUSR);
> +MODULE_PARM_DESC(scan, "sync, async, manual, or none. "
> + "Setting to 'manual' disables automatic scanning, but allows "
> + "for manual device scan via the 'scan' sysfs attribute.");
>
> static unsigned int scsi_inq_timeout = SCSI_TIMEOUT/HZ + 18;
>
> @@ -1040,7 +1043,8 @@ static unsigned char *scsi_inq_str(unsigned char *buf, unsigned char *inq,
> * @lun: LUN of target device
> * @bflagsp: store bflags here if not NULL
> * @sdevp: probe the LUN corresponding to this scsi_device
> - * @rescan: if nonzero skip some code only needed on first scan
> + * @rescan: if greater than SCSI_SCAN_NONE skip some code only
> + * needed on first scan
please pass the actual enum to all the functions taking this
recan argument so that we can do proper type checking on it.
> + if (rescan > SCSI_SCAN_NONE || !scsi_device_created(sdev)) {
And always check just check for equality instead of doing BT / LT on
enum values.
>
> +enum scsi_scan_mode {
> + SCSI_SCAN_NONE = 0,
and this could use a better name. SCSI_SCAN_INITAL maybe?
prev parent reply other threads:[~2016-03-15 13:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-15 7:19 [PATCHv2] scsi: disable automatic target scan Hannes Reinecke
2016-03-15 8:31 ` Johannes Thumshirn
2016-03-15 11:03 ` Steffen Maier
2016-03-15 11:28 ` Hannes Reinecke
2016-03-15 11:48 ` Steffen Maier
2016-03-15 11:54 ` Hannes Reinecke
2016-03-15 13:36 ` Christoph Hellwig [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160315133617.GA18668@lst.de \
--to=hch@lst.de \
--cc=hare@suse.de \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).