[LU-9123] sanity test 27D fails with 'llapi_layout_test failed' Created: 14/Feb/17 Updated: 20/Feb/17 Resolved: 19/Feb/17 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.10.0 |
| Fix Version/s: | Lustre 2.10.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | James Nunez (Inactive) | Assignee: | John Hammond |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
autotest |
||
| Issue Links: |
|
||||||||||||||||
| Severity: | 3 | ||||||||||||||||
| Rank (Obsolete): | 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: |
| Comments |
| Comment by Emoly Liu [ 15/Feb/17 ] |
|
Hit on master: |
| Comment by nasf (Inactive) [ 15/Feb/17 ] |
|
+1 on master: |
| Comment by John Hammond [ 15/Feb/17 ] |
|
This is almost certainly due to #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 53, 0) conditional compilation in lfs_setstripe() or related code. |
| Comment by John Hammond [ 15/Feb/17 ] |
|
Indeed llapi_layout_test.c must be adjusted due to the recent (2.9.53) change from '-s' to '-S' and probably others. |
| Comment by James A Simmons [ 15/Feb/17 ] |
|
Is this the source of all the recent Maloo failures? |
| Comment by Gerrit Updater [ 15/Feb/17 ] |
|
John L. Hammond (john.hammond@intel.com) uploaded a new patch: https://review.whamcloud.com/25471 |
| Comment by Bob Glossman (Inactive) [ 16/Feb/17 ] |
|
more on master: |
| Comment by Gerrit Updater [ 18/Feb/17 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/25471/ |
| Comment by Peter Jones [ 19/Feb/17 ] |
|
Landed for 2.10 |