diff options
| author | Niklas Cassel <cassel@kernel.org> | 2025-12-02 13:21:35 +0100 |
|---|---|---|
| committer | Damien Le Moal <dlemoal@kernel.org> | 2025-12-15 16:32:05 +0900 |
| commit | ad50d922f4857ca58dbda172d5d6356ab53e7845 (patch) | |
| tree | 288b1dad06a8763c2e6aa0cc16e60af24f5569f5 | |
| parent | 45c4c5a6156a5ab450a7595dd1c8985e2d459403 (diff) | |
ata: libata: Add libata.force parameter max_sec
Add a new libata.force parameter called max_sec.
The parameter can take an arbitrary value using the format:
libata.force=max_sec=<number of 512B sectors>
e.g. libata.force=max_sec=8191
or
libata.force=max_sec=2048
This will allow the user to set an arbitrary maximum command size
(dev->max_sectors) using libata.force.
We cannot remove the existing libata.force parameters "max_sec_128" and
"max_sec_1024", as these are a part of the exising user facing API.
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
| -rw-r--r-- | Documentation/admin-guide/kernel-parameters.txt | 5 | ||||
| -rw-r--r-- | drivers/ata/libata-core.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index a8d0afde7f85..a467a7661efb 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -3412,6 +3412,11 @@ Kernel parameters * [no]logdir: Enable or disable access to the general purpose log directory. + * max_sec=<sectors>: Set the transfer size limit, in + number of 512-byte sectors, to the value specified in + <sectors>. The value specified in <sectors> has to be + a non-zero positive integer. + * max_sec_128: Set transfer size limit to 128 sectors. * max_sec_1024: Set or clear transfer size limit to diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index cd1ebdbe659b..9b0efca03a7d 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -6569,6 +6569,7 @@ static const struct ata_force_param force_tbl[] __initconst = { force_quirk_val(max_sec_128, ATA_QUIRK_MAX_SEC, 128), force_quirk_val(max_sec_1024, ATA_QUIRK_MAX_SEC, 1024), + force_quirk_on(max_sec=, ATA_QUIRK_MAX_SEC), force_quirk_on(max_sec_lba48, ATA_QUIRK_MAX_SEC_LBA48), force_quirk_onoff(lpm, ATA_QUIRK_NOLPM), |
