Details
-
Bug
-
Resolution: Fixed
-
Critical
-
Lustre 2.10.0
-
None
-
autotest
-
3
-
9223372036854775807
Description
Since the 2.9.53 tag on 2017-02-14, sanity test 27D is failing with error
'llapi_layout_test failed'
From the test_log, we see test 4, 26, and 27 fail due to ‘lfs setstripe’ calls:
test 0: Read/write layout attributes then create a file ... pass test 1: Read test0 file by path and verify attributes ..... pass test 2: Read test0 file by FD and verify attributes ....... pass test 3: Read test0 file by FID and verify attributes ...... pass Create a new file with a specific striping pattern or set the default striping pattern on an existing directory or delete the default striping pattern from an existing directory usage: setstripe -d <directory> (to delete default striping) or usage: setstripe [--stripe-count|-c <stripe_count>] [--stripe-index|-i <start_ost_idx>] [--stripe-size|-S <stripe_size>] [--pool|-p <pool_name>] [--ost|-o <ost_indices>] <directory|filename> stripe_size: Number of bytes on each OST (0 filesystem default) Can be specified with k, m or g (in KB, MB and GB respectively) start_ost_idx: OST index of first stripe (-1 default) stripe_count: Number of OSTs to stripe over (0 default, -1 all) pool_name: Name of OST pool to use (default none) ost_indices: List of OST indices, can be repeated multiple times Indices be specified in a format of: -o <ost_1>,<ost_i>-<ost_j>,<ost_n> Or: -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n> If --pool is set with --ost, then the OSTs must be the members of the pool. llapi_layout_test: llapi_layout_test.c:249: test4: assertion 'rc == 0' failed: system(/usr/bin/lfs setstripe -p testpool -c 2 -s 2097152 /mnt/lustre/d27D.sanity/t4): exit status 4 test 4: Verify compatibility with 'lfs setstripe' ......... fail (exit status 1) test 5: llapi_layout_get_by_path ENOENT handling .......... pass test 6: llapi_layout_get_by_fd EBADF handling ............. pass test 7: llapi_layout_get_by_path EACCES handling .......... pass test 8: llapi_layout_get_by_path ENODATA handling ......... pass test 9: verify llapi_layout_pattern_set() return values ... pass test 10: stripe_count error handling ....................... pass test 11: stripe_size error handling ........................ pass test 12: pool_name error handling .......................... pass test 13: ost_index error handling .......................... pass test 14: llapi_layout_file_create error handling ........... pass test 15: Can't change striping attributes of existing file . pass test 16: Default stripe attributes are applied as expected . pass test 17: LLAPI_LAYOUT_WIDE is honored ...................... pass test 18: Setting pool with fsname.pool notation ............ pass test 19: Maximum length pool name is NULL-terminated ....... pass test 20: LLAPI_LAYOUT_DEFAULT is honored ................... pass test 21: llapi_layout_file_create fails for non-Lustre file pass test 22: llapi_layout_file_create applied mode correctly ... pass test 23: llapi_layout_get_by_path fails for non-Lustre file pass test 24: LAYOUT_GET_EXPECTED works with existing file ...... pass test 25: LAYOUT_GET_EXPECTED works with directory .......... pass Create a new file with a specific striping pattern or set the default striping pattern on an existing directory or delete the default striping pattern from an existing directory usage: setstripe -d <directory> (to delete default striping) or usage: setstripe [--stripe-count|-c <stripe_count>] [--stripe-index|-i <start_ost_idx>] [--stripe-size|-S <stripe_size>] [--pool|-p <pool_name>] [--ost|-o <ost_indices>] <directory|filename> stripe_size: Number of bytes on each OST (0 filesystem default) Can be specified with k, m or g (in KB, MB and GB respectively) start_ost_idx: OST index of first stripe (-1 default) stripe_count: Number of OSTs to stripe over (0 default, -1 all) pool_name: Name of OST pool to use (default none) ost_indices: List of OST indices, can be repeated multiple times Indices be specified in a format of: -o <ost_1>,<ost_i>-<ost_j>,<ost_n> Or: -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n> If --pool is set with --ost, then the OSTs must be the members of the pool. llapi_layout_test: llapi_layout_test.c:1091: test26: assertion 'rc == 0' failed: system(/usr/bin/lfs setstripe -s 4194304 /mnt/lustre/d27D.sanity/d26): exit status 4 test 26: LAYOUT_GET_EXPECTED partially specified parent .... fail (exit status 1) Create a new file with a specific striping pattern or set the default striping pattern on an existing directory or delete the default striping pattern from an existing directory usage: setstripe -d <directory> (to delete default striping) or usage: setstripe [--stripe-count|-c <stripe_count>] [--stripe-index|-i <start_ost_idx>] [--stripe-size|-S <stripe_size>] [--pool|-p <pool_name>] [--ost|-o <ost_indices>] <directory|filename> stripe_size: Number of bytes on each OST (0 filesystem default) Can be specified with k, m or g (in KB, MB and GB respectively) start_ost_idx: OST index of first stripe (-1 default) stripe_count: Number of OSTs to stripe over (0 default, -1 all) pool_name: Name of OST pool to use (default none) ost_indices: List of OST indices, can be repeated multiple times Indices be specified in a format of: -o <ost_1>,<ost_i>-<ost_j>,<ost_n> Or: -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n> If --pool is set with --ost, then the OSTs must be the members of the pool. llapi_layout_test: llapi_layout_test.c:1142: test27: assertion 'rc == 0' failed: system(/usr/bin/lfs setstripe -s 3145728 /mnt/lustre/d27D.sanity/d27): exit status 4 test 27: LAYOUT_GET_EXPECTED with non existing file ........ fail (exit status 1) test 28: LLAPI_LAYOUT_WIDE returned as expected ............ pass test 29: set ost index to non-zero stripe number ........... pass sanity test_27D: @@@@@@ FAIL: llapi_layout_test failed
Logs for some of these failures are at:
https://testing.hpdd.intel.com/test_sets/9c68723e-f2c4-11e6-88d4-5254006e85c2
https://testing.hpdd.intel.com/test_sets/ae5e69d4-f2d4-11e6-88d4-5254006e85c2