mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
In xfstest 285/286 we don't check whether the target file system
supports seek data/hole operation or not. Here _require_seek_data_hole is defined to do this work. Signed-off-by: Zheng Liu <wenqing.lz@taobao.com> Reviewed-by: Rich Johnston <rjohnston@sgi.com> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
This commit is contained in:
@@ -1283,6 +1283,18 @@ _require_fail_make_request()
|
||||
not found. Seems that CONFIG_FAIL_MAKE_REQUEST kernel config option not enabled"
|
||||
}
|
||||
|
||||
#
|
||||
# Check if the file system supports seek_data/hole
|
||||
#
|
||||
_require_seek_data_hole()
|
||||
{
|
||||
testfile=$TEST_DIR/$$.seek
|
||||
testseek=`$here/src/seek_sanity_test -t $testfile 2>&1`
|
||||
rm -f $testfile &>/dev/null
|
||||
echo $testseek | grep -q "Kernel does not support" && \
|
||||
_notrun "File system does not support llseek(2) SEEK_DATA/HOLE"
|
||||
}
|
||||
|
||||
# check that a FS on a device is mounted
|
||||
# if so, return mount point
|
||||
#
|
||||
|
||||
+16
-2
@@ -660,6 +660,8 @@ int main(int argc, char **argv)
|
||||
{
|
||||
int ret = -1;
|
||||
int i = 0;
|
||||
int opt;
|
||||
int check_support = 0;
|
||||
int numtests = sizeof(seek_tests) / sizeof(struct testrec);
|
||||
|
||||
if (argc != 2) {
|
||||
@@ -667,10 +669,22 @@ int main(int argc, char **argv)
|
||||
return ret;
|
||||
}
|
||||
|
||||
base_file_path = (char *)strdup(argv[1]);
|
||||
while ((opt = getopt(argc, argv, "t")) != -1) {
|
||||
switch (opt) {
|
||||
case 't':
|
||||
check_support++;
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Usage: %s [-t] base_file_path\n",
|
||||
argv[0]);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
base_file_path = (char *)strdup(argv[optind]);
|
||||
|
||||
ret = test_basic_support();
|
||||
if (ret)
|
||||
if (ret || check_support)
|
||||
goto out;
|
||||
|
||||
for (i = 0; i < numtests; ++i) {
|
||||
|
||||
@@ -40,6 +40,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||
_supported_fs generic
|
||||
_supported_os Linux
|
||||
|
||||
_require_seek_data_hole
|
||||
|
||||
BASE_TEST_FILE=$TEST_DIR/seek_sanity_testfile
|
||||
|
||||
[ -x $here/src/seek_sanity_test ] || _notrun "seek_sanitfy_tester not built"
|
||||
|
||||
Executable → Regular
+2
@@ -38,6 +38,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||
_supported_fs generic
|
||||
_supported_os Linux
|
||||
|
||||
_require_seek_data_hole
|
||||
|
||||
src=$TEST_DIR/seek_copy_testfile
|
||||
dest=$TEST_DIR/seek_copy_testfile.dest
|
||||
|
||||
|
||||
Reference in New Issue
Block a user