Linux NFS development
 help / color / mirror / Atom feed
From: Daejun Park via B4 Relay <devnull+daejun7.park.samsung.com@kernel.org>
To: Calum Mackay <calum.mackay@oracle.com>
Cc: linux-nfs@vger.kernel.org, Chuck Lever <cel@kernel.org>,
	 Jeff Layton <jlayton@kernel.org>, Christoph Hellwig <hch@lst.de>,
	 Dai Ngo <dai.ngo@oracle.com>,
	Daejun Park <daejun7.park@samsung.com>
Subject: [PATCH pynfs 3/3] Add README-blocklayout
Date: Wed, 14 Oct 2026 13:10:28 +0900	[thread overview]
Message-ID: <20261014-pynfs-block-commit-v1-3-1723979f495f@samsung.com> (raw)
In-Reply-To: <20261014-pynfs-block-commit-v1-0-1723979f495f@samsung.com>

From: Daejun Park <daejun7.park@samsung.com>

Describe how the block layout tests are run against Linux nfsd: the
kernel options and export option that nfsd needs to hand out block
layouts, a setup that the tests have been run with, the testserver.py
command line, and how to leave out the tests that commit ranges no
layout covered when testing a server that shuts down on them.

Signed-off-by: Daejun Park <daejun7.park@samsung.com>
---
 nfs4.1/README-blocklayout | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/nfs4.1/README-blocklayout b/nfs4.1/README-blocklayout
new file mode 100644
index 0000000..48d3c1b
--- /dev/null
+++ b/nfs4.1/README-blocklayout
@@ -0,0 +1,41 @@
+Testing a block layout server
+=============================
+
+The "block" tests (server41tests/st_block.py) run testserver.py as the
+pNFS client of a server that hands out block layouts (RFC 5663). They
+only send NFS operations: none of them reads or writes the shared
+volume, so the host that runs them does not need access to it.
+
+They ask for LAYOUT4_BLOCK_VOLUME layouts. Linux nfsd hands those out
+for an XFS export with the "pnfs" option when it is built with
+CONFIG_NFSD_BLOCKLAYOUT. With CONFIG_NFSD_SCSILAYOUT it also hands out
+SCSI layouts (RFC 8154) if the device supports persistent
+reservations; the tests do not use those.
+
+One setup that the tests have been run with:
+
+  - nfsd built with CONFIG_NFSD_BLOCKLAYOUT=y, and XFS (mkfs.xfs
+    defaults, internal log) on a whole NVMe namespace, exported with
+    this line in /etc/exports:
+
+        /export  10.10.0.0/24(rw,sync,no_root_squash,pnfs)
+
+  - The namespace came over NVMe/TCP from nvmet on another host. As
+    the pynfs host never touches the volume, any block device that
+    XFS can be made on works for these tests; a shared device only
+    matters for clients that do I/O through the layout.
+
+  - A directory /export/pynfs on the server that the test user can
+    write to, and on the pynfs host:
+
+        ./testserver.py SERVER:/export/pynfs --secure --maketree block
+
+    --secure sends from a privileged port, which nfsd requires unless
+    the export has "insecure". --maketree creates the files that the
+    tests expect; it is needed the first time.
+
+BLOCK7 to BLOCK10 commit ranges that no layout covered. A server that
+does not refuse those may allocate blocks for them or, as XFS did,
+shut the filesystem down, which makes the tests after them fail. To
+leave them out, add "noBLOCK7 noBLOCK8 noBLOCK9 noBLOCK10" after
+"block".

-- 
2.43.0



      parent reply	other threads:[~2026-10-14  4:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-14  4:10 [PATCH pynfs 0/3] Block layout tests for LAYOUTCOMMITs of ranges without blocks Daejun Park via B4 Relay
2026-10-14  4:10 ` [PATCH pynfs 1/3] Add a test for contiguous writable extents in a block layout Daejun Park via B4 Relay
2026-10-14  4:10 ` [PATCH pynfs 2/3] Add tests for LAYOUTCOMMITs of ranges without blocks " Daejun Park via B4 Relay
2026-10-14  4:10 ` Daejun Park via B4 Relay [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261014-pynfs-block-commit-v1-3-1723979f495f@samsung.com \
    --to=devnull+daejun7.park.samsung.com@kernel.org \
    --cc=calum.mackay@oracle.com \
    --cc=cel@kernel.org \
    --cc=daejun7.park@samsung.com \
    --cc=dai.ngo@oracle.com \
    --cc=hch@lst.de \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox