Re: [PATCH v6 7/7] ata: libata: Enable fua support by default

Niklas Cassel
2022-12-30T14:47:15Z

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@opensource.wdc.com>
> Reviewed-by: Hannes Reinecke <hare@suse.de>
> Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
> ---
> 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@wdc.com>