NFSTEST_SSC - Online Linux Manual PageSection : 1
Updated : 14 February 2017
Source : NFStest 2.1.5
Note : nfstest_ssc 1.1
NAMEnfstest_ssc - Server side copy tests
SYNOPSISnfstest_ssc --server <server> [options]
DESCRIPTIONVerify correct functionality of server side copy Copying a file via NFS the client reads the data from the source file and then writes the same data to the destination file which is located in the same server or it could be located in a different server. Either way the file data is transferred twice, once for reading and the second for writing. Server side copy allows unnecessary network traffic to be eliminated. The intra-server copy allows the client to request the server to perform the copy internally thus avoiding any data being sent through the network at all. In the case for the inter-server copy where the destination server is different from the source server, the client authorizes both servers to interact directly with one another. The system call copy_file_range is used to send both intra and inter server side copy requests to the correct server. Basic server side copy tests verify the actual file range from the source file(s) are copied correctly to the destination file(s). Most tests deal with a single source and destination file while verifying the data is copied correctly. Also it verifies the data is copied starting from the correct source offset and it is copied to the correct offset on the destination file. Other tests deal with multiple files: copying multiple source files to a single destination file, a single source file to multiple destination files, or N number of source files to M number of destination files. Some tests include testing at the protocol level by taking a packet trace and inspecting the actual packets sent to the server or servers. For the intra-server side copy, these tests verify the COPY/CLONE operation is sent to the server with correct arguments. For the inter-server side copy, these tests verify the COPY_NOTIFY operation is sent to the source server with correct arguments to authorize the source server to allow the destination server to copy the data directly; then the client sends the COPY operation to the destination server so it could initiate the actual copy. The server side copy could either be synchronous or asynchronous depending on both client and server(s). The client could issue either a synchronous or asynchronous copy and the server could either copy the file data in either mode depending on implementation or other factors. In either case, the tests verify the correct functionality for both cases. The CB_OFFLOAD operation is used by the destination server to report the actual results of the copy when it is done. The client could also actively query the destination server for status on a current asynchronous copy using the OFFLOAD_STATUS operation. Also the client has a mechanism to cancel a given asynchronous copy using the OFFLOAD_CANCEL operation. Negative testing is included whenever possible since some testing cannot be done at the protocol level because the copy_file_range system call does some error checking of its own and the NFS client won't even send a COPY_NOTIFY or COPY operation to the server letting the server deal with the error. Negative tests include trying to copy an invalid source range, having an invalid value for either the offset or the length, trying to copy a region on a source file opened as write only, a destination file opened as read only or the file is a non-regular file type.
OPTIONS--version show program's version number and exit -h, --help show this help message and exit -f FILE, --file=FILE File where options are specified besides the system wide file /etc/nfstest, user wide file $HOME/.nfstest or in the current directory .nfstest file
NFS specific options:-s SERVER, --server=SERVER Server name or IP address -e EXPORT, --export=EXPORT Exported file system to mount [default: '/'] --nfsversion=NFSVERSION NFS version, e.g., 3, 4, 4.1, etc. [default: 4.2] -m MTPOINT, --mtpoint=MTPOINT Mount point [default: '/mnt/t'] -p PORT, --port=PORT NFS server port [default: 2049] --proto=PROTO NFS protocol name [default: 'tcp'] --sec=SEC Security flavor [default: 'sys'] -o MTOPTS, --mtopts=MTOPTS Mount options [default: 'hard,rsize=4096,wsize=4096'] --datadir=DATADIR Data directory where files are created, directory is created on the mount point [default: '']
Logging options:-v VERBOSE, --verbose=VERBOSE Verbose level for debug messages [default: 'none'] --tverbose=TVERBOSE Verbose level for test messages [default: '1'] --createlog Create log file --rexeclog Create rexec log files --warnings Display warnings --tag=TAG Informational tag, it is displayed as an INFO message [default: ''] --notty Do not use terminal colors on output
Packet trace options:--createtraces Create a packet trace for each test --tbsize=TBSIZE Capture buffer size for tcpdump [default: 192k] --trcdelay=TRCDELAY Seconds to delay before stopping packet trace [default: 0.0] --keeptraces Do not remove any trace files [default: remove trace files if no errors] --rmtraces Remove trace files [default: remove trace files if no errors] -i INTERFACE, --interface=INTERFACE Device interface [default: automatically selected]
File options:--nfiles=NFILES Number of files to create [default: 2] --filesize=FILESIZE File size to use for test files [default: 64k] --rsize=RSIZE Read size to use when reading files [default: 4k] --wsize=WSIZE Write size to use when writing files [default: 4k] --iodelay=IODELAY Seconds to delay I/O operations [default: 0.1] --offset-delta=OFFSET_DELTA Read/Write offset delta [default: 4k]
Path options:--sudo=SUDO Full path of binary for sudo [default: '/usr/bin/sudo'] --tcpdump=TCPDUMP Full path of binary for tcpdump [default: '/usr/sbin/tcpdump'] --iptables=IPTABLES Full path of binary for iptables [default: '/usr/sbin/iptables'] --messages=MESSAGES Full path of log messages file [default: '/var/log/messages'] --tmpdir=TMPDIR Temporary directory [default: '/tmp']
Debug options:--nocleanup Do not cleanup created files --bugmsgs=BUGMSGS File containing test messages to mark as bugs if they failed --ignore Ignore all bugs given by bugmsgs --nomount Do not mount server and run the tests on local disk space --basename=BASENAME Base name for all files and logs [default: automatically generated] --nfsdebug=NFSDEBUG Set NFS kernel debug flags and save log messages [default: ''] --rpcdebug=RPCDEBUG Set RPC kernel debug flags and save log messages [default: ''] --pktdisp Display main packets related to the given test
Test options:--runtest=RUNTEST Comma separated list of tests to run, if list starts with a '^' then all tests are run except the ones listed [default: 'all'] --dst-server=DST_SERVER Destination server for inter server side copy [default: none] --dst-export=DST_EXPORT Destination export for inter server side copy [default: none] --ncopies=NCOPIES Number of concurrent copies to use on intra14 and inter14 tests [default: 4] --src-files=SRC_FILES Number of source files to use concurrently on intra15 and inter15 tests [default: 3] --dst-files=DST_FILES Number of destination files to use concurrently on intra15 and inter15 tests [default: 2] --pre-write=PRE_WRITE Write destination file before copy_file_range [default: 1] --locks=LOCKS Lock files [default: 1]
TESTS
intraRun all intra server side copy tests: intra01, intra02, intra03,
intra04, intra05, intra06, intra07, intra08, intra09, intra10, intra11,
intra12, intra13, intra14, intra15
pintraRun all positive intra server side copy tests: intra01, intra02,
intra03, intra04, intra05, intra06, intra07, intra08, intra14, intra15
nintraRun all negative intra server side copy tests: intra09, intra10,
intra11, intra12, intra13
intra01Verify intra server side COPY succeeds
intra02Verify intra server side COPY succeeds when using source offset
intra03Verify intra server side COPY succeeds when using destination offset
intra04Verify intra server side COPY succeeds when using NULL as source offset
intra05Verify intra server side COPY succeeds when using NULL as destination
offset
intra06Verify intra server side COPY succeeds when using count = 0
intra07Verify intra server side COPY succeeds when the source file is opened
as read/write
intra08Verify intra server side COPY succeeds when the destination file is
opened as read/write
intra09Verify intra server side COPY fails when the source file is opened
as write only
intra10Verify intra server side COPY fails when the destination file is opened
as read only
intra11Verify intra server side COPY fails when source offset is beyond the
end of the file
intra12Verify intra server side COPY fails when source offset plus count
is beyond the end of the file
intra13Verify intra server side COPY fails when both source and destination
files point to the same file
intra14Verify intra server side COPY succeeds when using multiple source and
destination offsets
intra15Verify intra server side COPY succeeds when using multiple source and
destination files
interRun all inter server side copy tests: inter01, inter02, inter03,
inter04, inter05, inter06, inter07, inter08, inter09, inter10, inter11,
inter12, inter13, inter14, inter15
pinterRun all positive inter server side copy tests: inter01, inter02,
inter03, inter04, inter05, inter06, inter07, inter08, inter13, inter14,
inter15
ninterRun all negative inter server side copy tests: inter09, inter10,
inter11, inter12
inter01Verify inter server side COPY succeeds
inter02Verify inter server side COPY succeeds when using source offset
inter03Verify inter server side COPY succeeds when using destination offset
inter04Verify inter server side COPY succeeds when using NULL as source offset
inter05Verify inter server side COPY succeeds when using NULL as destination
offset
inter06Verify inter server side COPY succeeds when using count = 0
inter07Verify inter server side COPY succeeds when the source file is opened
as read/write
inter08Verify inter server side COPY succeeds when the destination file is
opened as read/write
inter09Verify inter server side COPY fails when the source file is opened
as write only
inter10Verify inter server side COPY fails when the destination file is opened
as read only
inter11Verify inter server side COPY fails when source offset is beyond the
end of the file
inter12Verify inter server side COPY fails when source offset plus count
is beyond the end of the file
inter13Verify inter server side COPY succeeds when both source and destination
file names are the same
inter14Verify inter server side COPY succeeds when using multiple source and
destination offsets
inter15Verify inter server side COPY succeeds when using multiple source and
destination files
positiveRun all positive server side copy tests: intra01, intra02, intra03,
intra04, intra05, intra06, intra07, intra08, intra14, intra15, inter01,
inter02, inter03, inter04, inter05, inter06, inter07, inter08, inter13,
inter14, inter15
negativeRun all negative server side copy tests: intra09, intra10, intra11,
intra12, intra13, inter09, inter10, inter11, inter12
EXAMPLESThe only required option is --server
$ nfstest_ssc --server 192.168.0.11
NOTESThe user id in the local host and the host specified by --dst-server must have access to run commands as root using the 'sudo' command without the need for a password. The user id must be able to 'ssh' to remote host without the need for a password. Valid only for NFS version 4.2 and above.
SEE ALSObaseobj(3), formatstr(3), nfstest.test_util(3), nfstest_alloc(1), nfstest_cache(1), nfstest_delegation(1), nfstest_dio(1), nfstest_file(1), nfstest_interop(1), nfstest_io(1), nfstest_lock(1), nfstest_pkt(1), nfstest_pnfs(1), nfstest_posix(1), nfstest_sparse(1), nfstest_xid(1), packet.nfs.nfs3_const(3), packet.nfs.nfs4_const(3)
BUGSNo known bugs.
AUTHORJorge Mora (mora@netapp.com) 0
Johanes Gumabo
Data Size : 42,336 byte
man-nfstest_ssc.1Build : 2024-12-05, 20:55 :
Visitor Screen : x
Visitor Counter ( page / site ) : 2 / 170,924
Visitor ID : :
Visitor IP : 3.145.16.251 :
Visitor Provider : AMAZON-02 :
Provider Position ( lat x lon ) : 39.962500 x -83.006100 : x
Provider Accuracy Radius ( km ) : 1000 :
Provider City : Columbus :
Provider Province : Ohio , : ,
Provider Country : United States :
Provider Continent : North America :
Visitor Recorder : Version :
Visitor Recorder : Library :
Online Linux Manual Page : Version : Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page : Library : lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page : Library : lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base : Version : Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base : Library : lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36
Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.