NFSTEST_DIO(1) | nfstest_dio 1.5 | NFSTEST_DIO(1) |
nfstest_dio - Direct I/O tests
nfstest_dio --server <server> [options]
Functional direct I/O tests verify that every READ/WRITE is sent to the server instead of the client caching the requests. Client bypasses read ahead by sending the READ with only the requested bytes. Verify the client correctly handles eof marker when reading the whole file. Verify client ignores delegation while writing a file.
Direct I/O on pNFS tests verify the client sends the READ/WRITE to the correct DS or the MDS if using a PAGESIZE aligned buffer or not, respectively.
Direct I/O data correctness tests verify that a file written with buffered I/O is read correctly with direct I/O. Verify that a file written with direct I/O is read correctly with buffered I/O.
Vectored I/O tests verify coalescence of multiple vectors into one READ/WRITE packet when all vectors are PAGESIZE aligned. Vectors with different alignments are sent on separate packets.
Valid for NFSv4.0 and NFSv4.1 including pNFS.
Verify eof marker is handled correctly when reading the end of the file.
Verify data correctness when reading/writing using direct I/O. File created with buffered I/O is read correctly with direct I/O. File created with direct I/O is read correctly with buffered I/O.
Verify fstat() gets correct file size after writing.
Verify READ is sent after writing when the file is open for both read and write.
Verify READ is sent with only the requested bytes bypassing read ahead.
Verify a packet is sent for each I/O request.
Verify multiple READ packets are sent for each read request having request size > rsize.
Verify multiple WRITE packets are sent for each write request having request size > wsize
Verify packet is sent to correct DS server when using a memory which is PAGESIZE aligned.
Verify packet is sent to the MDS when using a memory which is not PAGESIZE aligned.
Verify packets are sent to both the MDS and correct DS on same open using buffers with different alignments.
Verify multiple packets are sent for each request having the request size greater than stripe size.
Verify vectored I/O functionality.
Run all tests: eof, correctness, fstat, read, read_ahead, basic, rsize, wsize, aligned, nonaligned, diffalign, stripesize, vectored_io
The only required option is --server
$ nfstest_dio --server 192.168.0.11
The user id in the local host must have access to run commands as root using the 'sudo' command without the need for a password.
formatstr(3), nfstest.test_util(3), nfstest_alloc(1), nfstest_cache(1), nfstest_delegation(1), nfstest_fcmp(1), nfstest_file(1), nfstest_interop(1), nfstest_io(1), nfstest_lock(1), nfstest_pkt(1), nfstest_pnfs(1), nfstest_posix(1), nfstest_rdma(1), nfstest_sparse(1), nfstest_ssc(1), nfstest_xattr(1), nfstest_xid(1), packet.nfs.nfs3_const(3), packet.nfs.nfs4_const(3)
No known bugs.
Jorge Mora (mora@netapp.com)
21 March 2023 | NFStest 3.2 |