On Tue, Nov 21, 2023 at 07:56:30AM +0900, Damien Le Moal wrote: > Commit 3cc2ffe5c16d ("scsi: sd: Differentiate system and runtime > start/stop management") changed the single bit manage_start_stop flag > into 2 boolean fields of the SCSI device structure. Commit 24eca2dce0f8 > ("scsi: sd: Introduce manage_shutdown device flag") introduced the > manage_shutdown boolean field for the same structure. Together, these 2 > commits increase the size of struct scsi_device by 8 bytes by using > booleans instead of defining the manage_xxx fields as single bit flags, > similarly to other flags of this structure. > > Avoid this unnecessary structure size increase and be consistent with > the definition of other flags by reverting the definitions of the > manage_xxx fields as single bit flags. > > Fixes: 3cc2ffe5c16d ("scsi: sd: Differentiate system and runtime start/stop management") > Fixes: 24eca2dce0f8 ("scsi: sd: Introduce manage_shutdown device flag") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Damien Le Moal <dlemoal@xxxxxxxxxx> > --- > drivers/ata/libata-scsi.c | 4 ++-- > drivers/firewire/sbp2.c | 6 +++--- > include/scsi/scsi_device.h | 6 +++--- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c > index c10ff8985203..63317449f6ea 100644 > --- a/drivers/ata/libata-scsi.c > +++ b/drivers/ata/libata-scsi.c > @@ -1056,8 +1056,8 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct ata_device *dev) > * and resume and shutdown only. For system level suspend/resume, > * devices power state is handled directly by libata EH. > */ > - sdev->manage_runtime_start_stop = true; > - sdev->manage_shutdown = true; > + sdev->manage_runtime_start_stop = 1; > + sdev->manage_shutdown = 1; > } > > /* > diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c > index 7edf2c95282f..e779d866022b 100644 > --- a/drivers/firewire/sbp2.c > +++ b/drivers/firewire/sbp2.c > @@ -1519,9 +1519,9 @@ static int sbp2_scsi_slave_configure(struct scsi_device *sdev) > sdev->use_10_for_rw = 1; > > if (sbp2_param_exclusive_login) { > - sdev->manage_system_start_stop = true; > - sdev->manage_runtime_start_stop = true; > - sdev->manage_shutdown = true; > + sdev->manage_system_start_stop = 1; > + sdev->manage_runtime_start_stop = 1; > + sdev->manage_shutdown = 1; > } > > if (sdev->type == TYPE_ROM) > diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h > index 10480eb582b2..1fb460dfca0c 100644 > --- a/include/scsi/scsi_device.h > +++ b/include/scsi/scsi_device.h > @@ -167,19 +167,19 @@ struct scsi_device { > * power state for system suspend/resume (suspend to RAM and > * hibernation) operations. > */ > - bool manage_system_start_stop; > + unsigned manage_system_start_stop:1; > > /* > * If true, let the high-level device driver (sd) manage the device > * power state for runtime device suspand and resume operations. > */ > - bool manage_runtime_start_stop; > + unsigned manage_runtime_start_stop:1; > > /* > * If true, let the high-level device driver (sd) manage the device > * power state for system shutdown (power off) operations. > */ > - bool manage_shutdown; > + unsigned manage_shutdown:1; > > unsigned removable:1; > unsigned changed:1; /* Data invalid due to media change */ > -- > 2.42.0 > Reviewed-by: Niklas Cassel <niklas.cassel@xxxxxxx>