On Tue, Nov 08, 2022 at 02:55:44PM +0900, Damien Le Moal wrote: > Change the default value of the fua module parameter to 1 to enable fua > support by default for all devices supporting it. Perhaps add the following to the commit message: With this change, ata_dev_config_fua() will now set the flag ATA_DFLAG_FUA by default for devices that support FUA. This will cause ata_scsiop_mode_sense() to set the DPOFUA bit in the DEVICE-SPECIFIC PARAMETER field in the mode parameter header. The SCSI disk driver performs a MODE SENSE and looks at the DPOFUA bit, it then calls blk_queue_write_cache() with the value of the DPOFUA bit, to inform the the block layer if FUA is supported or not. The block layer will not issue REQ_FUA requests if it hasn't been informed that the lower levels actually support FUA. > > FUA support can be disabled for individual drives using the > force=[ID]nofua libata module argument. > > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> > Reviewed-by: Hannes Reinecke <hare@xxxxxxx> > Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@xxxxxxxxxx> > Reviewed-by: Chaitanya Kulkarni <kch@xxxxxxxxxx> > --- > drivers/ata/libata-core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c > index 97ade977b830..2967671131d2 100644 > --- a/drivers/ata/libata-core.c > +++ b/drivers/ata/libata-core.c > @@ -127,9 +127,9 @@ int atapi_passthru16 = 1; > module_param(atapi_passthru16, int, 0444); > MODULE_PARM_DESC(atapi_passthru16, "Enable ATA_16 passthru for ATAPI devices (0=off, 1=on [default])"); > > -int libata_fua = 0; > +int libata_fua = 1; > module_param_named(fua, libata_fua, int, 0444); > -MODULE_PARM_DESC(fua, "FUA support (0=off [default], 1=on)"); > +MODULE_PARM_DESC(fua, "FUA support (0=off, 1=on [default])"); > > static int ata_ignore_hpa; > module_param_named(ignore_hpa, ata_ignore_hpa, int, 0644); > -- > 2.38.1 > With a less spartan commit message: Reviewed-by: Niklas Cassel <niklas.cassel@xxxxxxx>