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