[PATCH v3 0/2] enable sector size > PAGE_SIZE for scsi

sw.prabhu6@gmail.com posted 2 patches 1 month, 2 weeks ago
There is a newer version of this series
drivers/scsi/scsi_debug.c |  8 +---
drivers/scsi/sd.c         | 80 +++++++++++++++++++++++++++++++++------
2 files changed, 69 insertions(+), 19 deletions(-)
[PATCH v3 0/2] enable sector size > PAGE_SIZE for scsi
Posted by sw.prabhu6@gmail.com 1 month, 2 weeks ago
From: Swarna Prabhu <sw.prabhu6@gmail.com>

Hi All,

This is v3 series sent based on the review comments received on v2 [1].
This patchset enables sector sizes > PAGE_SIZE for
sd driver and scsi_debug driver since block layer can support block
size > PAGE_SIZE. There was one issue with write_same16 and write_same10
command, which is fixed as a part of the series.

Changes since v2:
 - create a helper function to initialize a large page mempool at
   'sd_probe' when the first device with sector size > 4k is detected
   for sd driver with ensuring atomicity.
 - create a helper function for safe destruction of the large page
   mempool and use that in 'sd_probe' if the device fails at probe
   after the mempool is successfully created.
 - Utilize the helper function for safe destruction of the large
   page mempool in 'sd_remove' when the last device with sector
   size > PAGE_SIZE is detached from the system.
 - Replace while with for loop to 'clear_page' in 'sd_set_special_bvec'
   function in sd driver.
 - Modified the git commit title and message to remove the fix tag for
   for scsi sd driver patch.
 - Rebased the changes on latest origin/master branch.

Thanks to Damien for review on the v2 series.

Testing:
-Test suite: xfs and generic from fstest + QEMU emulated block
    device(scsi and nvme)
  - fstest Config for patched xfs 16k block size [xfs_reflink_16k_scsi]
    TEST_DEV=/dev/sda
    SCRATCH_DEV_POOL="/dev/sdb"
    MKFS_OPTIONS='-f -m reflink=1,rmapbt=1, -i sparse=1, -b size=16384,
    -s size=16384'
  - Generic test results
    Baseline: 6.19-rc8 kernel + nvme 16k logical block size
    Patched: 6.19-rc8 kernel + scsi 16k logical block size
    No regressions introduced by the patch.
  - XFS tests results
    Baseline: 6.19-rc8 kernel + nvme 16k logical block size
    Patched: 6.19-rc8 kernel + scsi 16k logical block size
    No regressions introduced by the patch
  - Blktests results
    scsi and block layer tests with 16k logical block size.
    Baseline: vanilla kernel + scsi 4k
    No regressions seen by the patch.

Link to v2: https://lore.kernel.org/all/20260211015043.2608866-1-sw.prabhu6@gmail.com/ [1]

Swarna Prabhu (2):
  scsi: sd: enable sector size > PAGE_SIZE in scsi sd driver
  scsi: scsi_debug: enable sdebug_sector_size > PAGE_SIZE

 drivers/scsi/scsi_debug.c |  8 +---
 drivers/scsi/sd.c         | 80 +++++++++++++++++++++++++++++++++------
 2 files changed, 69 insertions(+), 19 deletions(-)

-- 
2.39.5