linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] pNFS: Fix layoutcommit handling in block/scsi driver
@ 2025-06-30 18:35 Sergey Bashirov
  2025-06-30 18:35 ` [PATCH 1/4] pNFS: Fix uninited ptr deref in block/scsi layout Sergey Bashirov
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Sergey Bashirov @ 2025-06-30 18:35 UTC (permalink / raw)
  To: Christoph Hellwig, Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linux-kernel, Konstantin Evtushenko, Sergey Bashirov

Depending on the allocation scheme and size, some files may have a large
number of extents. This series fixes the handling of large extent arrays
and allows the pNFS client to split large layoutcommits that exceed the
maximum RPC size accepted by the server into multiple requests.

Manually tested for the block layout driver:
sudo mount.nfs4 -v -o minorversion=2,sync,hard,noatime,  \
                      rsize=16384,wsize=16384,timeo=600, \
                      retrans=2 192.168.1.1:/mnt/export /mnt/pnfs
sudo fio --name=test --filename=/mnt/pnfs/test6.raw --size=10M \
         --rw=randwrite --ioengine=libaio --direct=1 --bs=4k   \
         --iodepth=128 --fallocate=none --verify=sha1
Trace:
    fio-1580  [012]  1258.595866: bl_ext_tree_prepare_commit:
        ret=-28, found 372 ranges, lwb=1531903, not all ranges encoded
    fio-1580  [012]  1258.609534: bl_ext_tree_prepare_commit:
        ret=-28, found 372 ranges, lwb=3104767, not all ranges encoded
    fio-1580  [012]  1258.655556: bl_ext_tree_prepare_commit:
        ret=-28, found 372 ranges, lwb=4644863, not all ranges encoded
    fio-1580  [012]  1258.699603: bl_ext_tree_prepare_commit:
        ret=-28, found 372 ranges, lwb=6176767, not all ranges encoded
    fio-1580  [012]  1258.743650: bl_ext_tree_prepare_commit:
        ret=-28, found 372 ranges, lwb=7708671, not all ranges encoded
    fio-1580  [012]  1258.787605: bl_ext_tree_prepare_commit:
        ret=-28, found 372 ranges, lwb=9236479, not all ranges encoded
    fio-1580  [012]  1258.817439: bl_ext_tree_prepare_commit:
        ret=0, found 295 ranges, lwb=10485759

Signed-off-by: Sergey Bashirov <sergeybashirov@gmail.com>
---
Sergey Bashirov (4):
  pNFS: Fix uninited ptr deref in block/scsi layout
  pNFS: Fix extent encoding in block/scsi layout
  pNFS: Add prepare commit trace to block/scsi layout
  pNFS: Handle RPC size limit for layoutcommits

 fs/nfs/blocklayout/extent_tree.c | 104 +++++++++++++++++++++++++++----
 fs/nfs/nfs4trace.c               |   1 +
 fs/nfs/nfs4trace.h               |  34 ++++++++++
 fs/nfs/pnfs.c                    |  11 +++-
 4 files changed, 134 insertions(+), 16 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-07-03 13:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-30 18:35 [PATCH 0/4] pNFS: Fix layoutcommit handling in block/scsi driver Sergey Bashirov
2025-06-30 18:35 ` [PATCH 1/4] pNFS: Fix uninited ptr deref in block/scsi layout Sergey Bashirov
2025-07-03 13:17   ` Christoph Hellwig
2025-06-30 18:35 ` [PATCH 2/4] pNFS: Fix extent encoding " Sergey Bashirov
2025-07-03 13:18   ` Christoph Hellwig
2025-06-30 18:35 ` [PATCH 3/4] pNFS: Add prepare commit trace to " Sergey Bashirov
2025-07-03 13:18   ` Christoph Hellwig
2025-06-30 18:35 ` [PATCH 4/4] pNFS: Handle RPC size limit for layoutcommits Sergey Bashirov
2025-07-03 13:18   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).