[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b92ce48a-55d8-9377-f6c5-510d7e3beb1b@acm.org>
Date: Wed, 17 Jun 2020 12:19:34 -0700
From: Bart Van Assche <bvanassche@....org>
To: Simon Arlott <simon@...iron.net>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Jonathan Corbet <corbet@....net>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-scsi@...r.kernel.org, linux-doc@...r.kernel.org
Subject: Re: [PATCH] scsi: sd: stop SSD (non-rotational) disks before reboot
On 2020-06-17 11:49, Simon Arlott wrote:
> @@ -3576,9 +3582,19 @@ static void sd_shutdown(struct device *dev)
> sd_sync_cache(sdkp, NULL);
> }
>
> - if (system_state != SYSTEM_RESTART && sdkp->device->manage_start_stop) {
> - sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n");
> - sd_start_stop_device(sdkp, 0);
> + if (sdkp->device->manage_start_stop) {
> + bool stop_disk = (system_state != SYSTEM_RESTART);
> +
> + if (stop_before_reboot > 1) { /* stop all disks */
> + stop_disk = true;
> + } else if (stop_before_reboot) { /* non-rotational only */
> + stop_disk |= blk_queue_nonrot(sdkp->disk->queue);
> + }
> +
> + if (stop_disk) {
> + sd_printk(KERN_NOTICE, sdkp, "Stopping disk\n");
> + sd_start_stop_device(sdkp, 0);
> + }
> }
> }
Is introduction of a new kernel module parameter essential? Or in other
words, has it been considered to apply the new behavior to all SSDs?
Thanks,
Bart.
Powered by blists - more mailing lists