* [PATCH 0/0] cifs: add documentation on how to run xfstest @ 2018-05-17 3:55 Ronnie Sahlberg 2018-05-17 3:55 ` [PATCH] cifs: Add README.cifs, example configs and blacklist files Ronnie Sahlberg 0 siblings, 1 reply; 3+ messages in thread From: Ronnie Sahlberg @ 2018-05-17 3:55 UTC (permalink / raw) To: fstests; +Cc: Steve French List, All, Please find a patch that adds a basic README file for cifs testing and some useful configuration templates and exclusion files. The exclusion files are currently only for SMB3, the dialect where most crunch/interest is right now, but will later be expanded to include also earlier dialects. The purpose of the exclusion files and the reason for having them in the git tree is to avoid the current situation where all cifs developers have their own scripts and their own list of tests ro run or not to run. These are all, of course, not synchronized so I expect everyone to run slightly different tests. If we have this in git then we have one canonical list of tests that are run and also explanations for why some tests are expected to fail. In particular the latter would be useful for newcomers as it might not be immediately obvious why a whole bunch of tests would fail and if it is expected or not. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] cifs: Add README.cifs, example configs and blacklist files 2018-05-17 3:55 [PATCH 0/0] cifs: add documentation on how to run xfstest Ronnie Sahlberg @ 2018-05-17 3:55 ` Ronnie Sahlberg 2018-05-21 22:54 ` Ronnie Sahlberg 0 siblings, 1 reply; 3+ messages in thread From: Ronnie Sahlberg @ 2018-05-17 3:55 UTC (permalink / raw) To: fstests; +Cc: Steve French This is an initial patch to provide quickstart instructions for how to use xfstest for CIFS. It contains configuration examples as well as exclusion files for tests that are either broken for SMB3 or just take unreasonably long for causal testing. Future patches will add similar exclude files for other dialects such as SMB2, SMB2.1 and CIFS. The aim is to have one canonical place where we have documentation on how to set xfstest up for cifs testing and one canonical place where we document which tests work and which does not. Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> --- README.cifs | 87 ++++++++++++++++++++++++++++ tests/cifs/exclude.known-broken-smb3 | 108 +++++++++++++++++++++++++++++++++++ tests/cifs/exclude.very-slow | 4 ++ tests/cifs/local.config.example | 32 +++++++++++ 4 files changed, 231 insertions(+) create mode 100644 README.cifs create mode 100644 tests/cifs/exclude.known-broken-smb3 create mode 100644 tests/cifs/exclude.very-slow create mode 100644 tests/cifs/local.config.example diff --git a/README.cifs b/README.cifs new file mode 100644 index 00000000..71907a06 --- /dev/null +++ b/README.cifs @@ -0,0 +1,87 @@ +This describes how to run xfstests for the CIFS filesystem. + +There is additional information on testing cifs with xfstest on the samba +wiki : https://wiki.samba.org/index.php/Xfstesting-cifs + + + +Quick Setup +=========== + +local.config +------------ +Xfstests needs two cifs shares. One normal share and one scratch share. +The data on the scratch share will be destroyed so set this up as a dedicate +share on your server and do not store anything important in it. + +The first thing we need is to set up some stanzas for different smb dialects. +These dialects can then be selected using the -s command line option making +it a convenient way to pick a specific version of smb to test. + +In the root of the xfstests directory, edit the local.config and replace the +content with the example below. +This example is also available in the file ./tests/cifs/local.config.examples. + +Change SERVER, SHARE, SCRATCH, USERNAME, PASSWORD to match your shares. + +Create the /mnt/test and /mnt/share mountpoints. + +---local.config---begin--- +[cifs] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb2] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb21] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb3] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +---local.config---end--- + + +Your first test +--------------- +With some luck you should be ready to run your first xfstest now. +This will run only the cifs-specific tests and should finish within a few +seconds. + + sudo ./check -s smb3 -g cifs/quick + +Running full set of tests +========================= +When runnig the "full" set of tests there are multiple tests that are +known to fail. Reasons can be that they just don't map well to cifs, +we are missing features in cifs or there are bugs that needs to be fixed. + +For regression testing is useful to run all the tests that are known to work. +We can acheive this per protocol version using exclude files and filter +out the known broken tests. + +SMB3 +---- + + sudo ./check -s smb3 -E tests/cifs/exclude.known-broken-smb3 \ + -E tests/cifs/exclude.very-slow diff --git a/tests/cifs/exclude.known-broken-smb3 b/tests/cifs/exclude.known-broken-smb3 new file mode 100644 index 00000000..9f6dcd53 --- /dev/null +++ b/tests/cifs/exclude.known-broken-smb3 @@ -0,0 +1,108 @@ +# Exclude list for tests that we know are broken in smb3 +# +generic/011 # "dirstress 5 processes" +generic/020 # EA keys are not case preserving +generic/023 # Rename of directory onto directory. Wrong return code. +generic/035 # SMB2+ does not allow rename onto an open file. +generic/037 +generic/062 +generic/070 # xattr not supported +generic/071 +generic/074 +generic/075 # fsx with zero data +generic/081 # fsx failure +generic/087 # ownership bug +generic/088 # ownership bug +generic/089 +generic/091 +generic/097 +generic/117 # cifs crash +generic/120 +generic/126 # needs usermapping +generic/127 # fsx failure +generic/130 +generic/131 # no advisory locking +generic/184 # mknod +generic/192 # mtime/ctime failure +generic/193 # needs usermapping +generic/209 # aio readahead file corruption +generic/236 +generic/237 # needs posix acl support +generic/245 # Rename of directory onto directory. Wrong return code. +generic/258 # "Testing for negative seconds since the epoch" fails to Samba works to Windows (not client problem - Samba server bug) +generic/263 # fsx failure +generic/270 # Adding quota support would be required for test 270 +generic/277 +generic/313 # mtime/ctime failure +generic/314 # needs posix acl support +generic/294 +generic/306 +generic/313 +generic/314 +generic/317 +generic/318 +generic/319 +generic/337 +generic/377 +generic/379 +generic/380 +generic/381 +generic/382 +generic/383 +generic/385 +generic/387 +generic/388 +generic/390 +generic/392 +generic/393 +generic/395 +generic/396 +generic/397 +generic/398 +generic/399 +generic/401 +generic/402 +generic/403 +generic/405 +generic/406 +generic/409 +generic/410 +generic/411 +generic/412 +generic/413 +generic/414 +generic/415 +generic/416 +generic/417 +generic/419 +generic/421 +generic/422 +generic/423 +generic/424 +generic/425 +generic/427 +generic/429 +generic/430 +generic/431 +generic/434 +generic/435 +generic/439 +generic/440 +generic/441 +generic/442 +generic/446 +generic/447 +generic/449 +generic/452 +generic/453 +generic/454 +generic/455 +generic/456 +generic/457 +generic/458 +generic/459 +generic/460 +generic/461 +generic/462 +generic/464 +generic/466 \ No newline at end of file diff --git a/tests/cifs/exclude.very-slow b/tests/cifs/exclude.very-slow new file mode 100644 index 00000000..aaee0537 --- /dev/null +++ b/tests/cifs/exclude.very-slow @@ -0,0 +1,4 @@ +# Exclude list for tests that are very slow on a network +# +generic/129 +generic/438 diff --git a/tests/cifs/local.config.example b/tests/cifs/local.config.example new file mode 100644 index 00000000..01e4e1b6 --- /dev/null +++ b/tests/cifs/local.config.example @@ -0,0 +1,32 @@ +[cifs] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb2] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb21] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb3] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch -- 2.13.3 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] cifs: Add README.cifs, example configs and blacklist files 2018-05-17 3:55 ` [PATCH] cifs: Add README.cifs, example configs and blacklist files Ronnie Sahlberg @ 2018-05-21 22:54 ` Ronnie Sahlberg 0 siblings, 0 replies; 3+ messages in thread From: Ronnie Sahlberg @ 2018-05-21 22:54 UTC (permalink / raw) To: fstests; +Cc: Steve French Please ignore this patch. It is residuals from before I got git-send-email setup correctly. The real patch is "[PATCH] cifs: Add README.cifs" Sorry, Ronnie Sahlberg ----- Original Message ----- From: "Ronnie Sahlberg" <lsahlber@redhat.com> To: "fstests" <fstests@vger.kernel.org> Cc: "Steve French" <smfrench@gmail.com> Sent: Thursday, 17 May, 2018 1:55:53 PM Subject: [PATCH] cifs: Add README.cifs, example configs and blacklist files This is an initial patch to provide quickstart instructions for how to use xfstest for CIFS. It contains configuration examples as well as exclusion files for tests that are either broken for SMB3 or just take unreasonably long for causal testing. Future patches will add similar exclude files for other dialects such as SMB2, SMB2.1 and CIFS. The aim is to have one canonical place where we have documentation on how to set xfstest up for cifs testing and one canonical place where we document which tests work and which does not. Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> --- README.cifs | 87 ++++++++++++++++++++++++++++ tests/cifs/exclude.known-broken-smb3 | 108 +++++++++++++++++++++++++++++++++++ tests/cifs/exclude.very-slow | 4 ++ tests/cifs/local.config.example | 32 +++++++++++ 4 files changed, 231 insertions(+) create mode 100644 README.cifs create mode 100644 tests/cifs/exclude.known-broken-smb3 create mode 100644 tests/cifs/exclude.very-slow create mode 100644 tests/cifs/local.config.example diff --git a/README.cifs b/README.cifs new file mode 100644 index 00000000..71907a06 --- /dev/null +++ b/README.cifs @@ -0,0 +1,87 @@ +This describes how to run xfstests for the CIFS filesystem. + +There is additional information on testing cifs with xfstest on the samba +wiki : https://wiki.samba.org/index.php/Xfstesting-cifs + + + +Quick Setup +=========== + +local.config +------------ +Xfstests needs two cifs shares. One normal share and one scratch share. +The data on the scratch share will be destroyed so set this up as a dedicate +share on your server and do not store anything important in it. + +The first thing we need is to set up some stanzas for different smb dialects. +These dialects can then be selected using the -s command line option making +it a convenient way to pick a specific version of smb to test. + +In the root of the xfstests directory, edit the local.config and replace the +content with the example below. +This example is also available in the file ./tests/cifs/local.config.examples. + +Change SERVER, SHARE, SCRATCH, USERNAME, PASSWORD to match your shares. + +Create the /mnt/test and /mnt/share mountpoints. + +---local.config---begin--- +[cifs] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb2] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb21] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb3] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +---local.config---end--- + + +Your first test +--------------- +With some luck you should be ready to run your first xfstest now. +This will run only the cifs-specific tests and should finish within a few +seconds. + + sudo ./check -s smb3 -g cifs/quick + +Running full set of tests +========================= +When runnig the "full" set of tests there are multiple tests that are +known to fail. Reasons can be that they just don't map well to cifs, +we are missing features in cifs or there are bugs that needs to be fixed. + +For regression testing is useful to run all the tests that are known to work. +We can acheive this per protocol version using exclude files and filter +out the known broken tests. + +SMB3 +---- + + sudo ./check -s smb3 -E tests/cifs/exclude.known-broken-smb3 \ + -E tests/cifs/exclude.very-slow diff --git a/tests/cifs/exclude.known-broken-smb3 b/tests/cifs/exclude.known-broken-smb3 new file mode 100644 index 00000000..9f6dcd53 --- /dev/null +++ b/tests/cifs/exclude.known-broken-smb3 @@ -0,0 +1,108 @@ +# Exclude list for tests that we know are broken in smb3 +# +generic/011 # "dirstress 5 processes" +generic/020 # EA keys are not case preserving +generic/023 # Rename of directory onto directory. Wrong return code. +generic/035 # SMB2+ does not allow rename onto an open file. +generic/037 +generic/062 +generic/070 # xattr not supported +generic/071 +generic/074 +generic/075 # fsx with zero data +generic/081 # fsx failure +generic/087 # ownership bug +generic/088 # ownership bug +generic/089 +generic/091 +generic/097 +generic/117 # cifs crash +generic/120 +generic/126 # needs usermapping +generic/127 # fsx failure +generic/130 +generic/131 # no advisory locking +generic/184 # mknod +generic/192 # mtime/ctime failure +generic/193 # needs usermapping +generic/209 # aio readahead file corruption +generic/236 +generic/237 # needs posix acl support +generic/245 # Rename of directory onto directory. Wrong return code. +generic/258 # "Testing for negative seconds since the epoch" fails to Samba works to Windows (not client problem - Samba server bug) +generic/263 # fsx failure +generic/270 # Adding quota support would be required for test 270 +generic/277 +generic/313 # mtime/ctime failure +generic/314 # needs posix acl support +generic/294 +generic/306 +generic/313 +generic/314 +generic/317 +generic/318 +generic/319 +generic/337 +generic/377 +generic/379 +generic/380 +generic/381 +generic/382 +generic/383 +generic/385 +generic/387 +generic/388 +generic/390 +generic/392 +generic/393 +generic/395 +generic/396 +generic/397 +generic/398 +generic/399 +generic/401 +generic/402 +generic/403 +generic/405 +generic/406 +generic/409 +generic/410 +generic/411 +generic/412 +generic/413 +generic/414 +generic/415 +generic/416 +generic/417 +generic/419 +generic/421 +generic/422 +generic/423 +generic/424 +generic/425 +generic/427 +generic/429 +generic/430 +generic/431 +generic/434 +generic/435 +generic/439 +generic/440 +generic/441 +generic/442 +generic/446 +generic/447 +generic/449 +generic/452 +generic/453 +generic/454 +generic/455 +generic/456 +generic/457 +generic/458 +generic/459 +generic/460 +generic/461 +generic/462 +generic/464 +generic/466 \ No newline at end of file diff --git a/tests/cifs/exclude.very-slow b/tests/cifs/exclude.very-slow new file mode 100644 index 00000000..aaee0537 --- /dev/null +++ b/tests/cifs/exclude.very-slow @@ -0,0 +1,4 @@ +# Exclude list for tests that are very slow on a network +# +generic/129 +generic/438 diff --git a/tests/cifs/local.config.example b/tests/cifs/local.config.example new file mode 100644 index 00000000..01e4e1b6 --- /dev/null +++ b/tests/cifs/local.config.example @@ -0,0 +1,32 @@ +[cifs] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=1.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb2] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb21] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=2.1,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch +[smb3] +FSTYP=cifs +TEST_DEV=//SERVER/SHARE +TEST_DIR=/mnt/test +TEST_FS_MOUNT_OPTS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +MOUNT_OPTIONS='-ousername=USERNAME,password=PASSWORD,noperm,vers=3.0,mfsymlinks,actimeo=0' +SCRATCH_DEV=//SERVER/SCRATCH +SCRATCH_MNT=/mnt/scratch -- 2.13.3 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-21 22:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-05-17 3:55 [PATCH 0/0] cifs: add documentation on how to run xfstest Ronnie Sahlberg 2018-05-17 3:55 ` [PATCH] cifs: Add README.cifs, example configs and blacklist files Ronnie Sahlberg 2018-05-21 22:54 ` Ronnie Sahlberg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox