[PATCH v3 0/6] Improve libata support for FUA

Damien Le Moal
2022-10-27T07:50:35Z

These patches cleanup and improve libata support for the FUA device
feature. Patch 6 enables FUA support by default for any drive that
reports supporting the feature as well as NCQ.

Changes from v2:
- Added patch 1 and 2 as preparatory patches
- Added patch 4 to fix FUA writes handling for the non-ncq case. Note
that it is possible that the drives blacklisted in patch 5 are
actually OK since the code back in 2012 had the issue with the wrong
use of LBA 28 commands for FUA writes.

Changes from v1:
- Removed Maciej's patch 2. Instead, blacklist drives which are known
to have a buggy FUA support.

Damien Le Moal (6):
ata: libata: Introduce ata_ncq_supported()
ata: libata: Rename and cleanup ata_rwcmd_protocol()
ata: libata: cleanup fua handling
ata: libata: Fix FUA handling in ata_build_rw_tf()
ata: libata: blacklist FUA support for known buggy drives
ata: libata: Enable fua support by default

.../admin-guide/kernel-parameters.txt | 3 +
drivers/ata/libata-core.c | 80 +++++++++++++++----
drivers/ata/libata-scsi.c | 30 +------
include/linux/libata.h | 34 +++++---
4 files changed, 93 insertions(+), 54 deletions(-)

--
2.37.3