Messages in this thread | | | Subject | Re: [PATCH] scsi: sd: stop SSD (non-rotational) disks before reboot | From | Simon Arlott <> | Date | Wed, 17 Jun 2020 20:32:08 +0100 |
| |
On 17/06/2020 20:19, Bart Van Assche wrote: > 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?
It is system-dependent whether or not a reboot is going to result in a loss of power, so it's required to be able to stop the HDDs too.
They're already always stopped on shutdown where power is definitely going to be lost. I can't do that by default on a reboot because the usual convention is that the power stays on during a reboot and it would be expected that the HDDs keep spinning.
> Or in other > words, has it been considered to apply the new behavior to all SSDs?
The default value is 1, so it does apply to all SSDs. I want to be able to configure it to apply to HDDs too.
-- Simon Arlott
| |