[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251210014136.2549405-1-sw.prabhu6@gmail.com>
Date: Wed, 10 Dec 2025 01:41:34 +0000
From: sw.prabhu6@...il.com
To: James.Bottomley@...senPartnership.com,
martin.petersen@...cle.com,
linux-scsi@...r.kernel.org
Cc: bvanassche@....org,
linux-kernel@...r.kernel.org,
mcgrof@...nel.org,
kernel@...kajraghav.com,
dlemoal@...nel.org,
Swarna Prabhu <sw.prabhu6@...il.com>
Subject: [v1 0/2] enable sector size > PAGE_SIZE for scsi
From: Swarna Prabhu <sw.prabhu6@...il.com>
Hi All,
This is non RFC v1 series sent based on the feedback received on RFC
v2 [1] and RFC v1 [2]. 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.
Motivation:
- While enabling LBS on ZoneFS, zonefs-tools tests were being skipped
for conventional zones when tested on nvme block device emulated using
QEMU. Hence there was a need to enable scsi with higher sector sizes
to run zonefs tests for conventional zones as well.
Changes since RFC v2:
- Replaced open coded check for enabling sdebug_sector_size > PAGE_SIZE
with blk_validate_block_size() in scsi_debug.
- Replaced open coded check for enabling sector_size > PAGE_SIZE
with blk_validate_block_size() in sd driver.
- Replaced 'struct request *rq' argument in 'sd_set_special_bvec()' to
'struct scsi_cmnd *cmnd' and used that to get SCSI device pointer
'struct scsi_device *sdp'.
- Slightly modified the commit title for scsi sd driver fix patch.
- Added "Cc: stable@...r.kernel.org" tag to scsi sd driver fix patch.
Changes since RFC v1:
- Re organized the patch series into one patch for scsi_debug driver
and one patch for sd driver.
- Updated commit title and description to accommodate the above
re organization on commit titled - scsi: sd: fix write_same(16/10)
to enable sector size > PAGE_SIZE.
- Updated commit title and description to reflect the re organization
on commit titled - scsi: scsi_debug: enable sdebug_sector_size
> PAGE_SIZE.
Thanks to Bart for feedback on the RFC v1 and 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.18.0-rc7 kernel + nvme 16k logical block size
Patched: 6.18 kernel + scsi 16k logical block size
5 failures seen on generic tests and the same seen on baseline
No regressions introduced by the patch.
- XFS tests results
Baseline: 6.18.0-rc7 kernel + nvme16k logical block size
Patched: 6.18 kernel + sci 16k logical block size
30 failures seen on patched and baseline
No regressions introduced by the patch
- Blktests results
scis and block layer tests with 16k and 32k logical block size.
config used:
TEST_DEVS=(/dev/sda)
EXCLUDE=(block/010 block/011) # these didn't run on baseline(nvme 16k)
All tests passed.
Link to RFC v2: https://lore.kernel.org/all/20251203230546.1275683-2-sw.prabhu6@gmail.com/ [1]
Link to RFC v1: https://lore.kernel.org/all/20251202021522.188419-1-sw.prabhu6@gmail.com/ [2]
Swarna Prabhu (2):
scsi: sd: fix write_same(16/10) to enable sector size > PAGE_SIZE
scsi: scsi_debug: enable sdebug_sector_size > PAGE_SIZE
drivers/scsi/scsi_debug.c | 8 +-------
drivers/scsi/sd.c | 27 +++++++++++++++++----------
2 files changed, 18 insertions(+), 17 deletions(-)
--
2.51.0
Powered by blists - more mailing lists