== sanity test 27D: validate llapi_layout API ============ 23:17:15 (1764735435) Creating new pool testpool oleg328-server: Pool lustre.testpool created Adding targets to pool oleg328-server: OST lustre-OST0000_UUID added to pool lustre.testpool oleg328-server: OST lustre-OST0001_UUID added to pool lustre.testpool test0 @1764735443: Read/write layout attributes then create a file ............ pass test1 @1764735443: Read test0 file by path and verify attributes .............. pass test2 @1764735443: Read test0 file by FD and verify attributes ................ pass test3 @1764735443: Read test0 file by FID and verify attributes ............... pass test4 @1764735443: Verify compatibility with 'lfs setstripe' .................. pass test5 @1764735443: llapi_layout_get_by_path ENOENT handling ................... pass test6 @1764735443: llapi_layout_get_by_fd EBADF handling ...................... pass test7 @1764735443: llapi_layout_get_by_path EACCES handling ................... pass test8 @1764735443: llapi_layout_get_by_path ENODATA handling .................. pass test9 @1764735443: verify llapi_layout_pattern_set() return values ............ pass test10 @1764735443: stripe_count error handling ............................... pass test11 @1764735443: stripe_size error handling ................................ pass test12 @1764735443: pool_name error handling .................................. pass test13 @1764735443: ost_index error handling .................................. pass test14 @1764735443: llapi_layout_file_create error handling ................... pass test15 @1764735443: Can't change striping attributes of existing file ......... pass test16 @1764735443: Default stripe attributes are applied as expected ......... pass test17 @1764735444: LLAPI_LAYOUT_WIDE is honored .............................. pass test18 @1764735444: Setting pool with fsname.pool notation .................... pass test19 @1764735444: Maximum length pool name is NULL-terminated ............... pass test20 @1764735444: LLAPI_LAYOUT_DEFAULT is honored ........................... pass test21 @1764735444: llapi_layout_file_create fails for non-Lustre file ........ pass test22 @1764735444: llapi_layout_file_create applied mode correctly ........... pass test23 @1764735444: llapi_layout_get_by_path fails for non-Lustre file ........ pass test24 @1764735444: LAYOUT_GET_EXPECTED works with existing file .............. pass test25 @1764735444: LAYOUT_GET_EXPECTED works with directory .................. pass test26 @1764735444: LAYOUT_GET_EXPECTED partially specified parent ............ pass test27 @1764735444: LAYOUT_GET_EXPECTED with non existing file ................ pass test28 @1764735444: LLAPI_LAYOUT_WIDE returned as expected .................... pass test29 @1764735444: set ost index to non-zero stripe number ................... pass test30 @1764735444: create composite file, traverse components ................ pass test31 @1764735445: add/delete component to/from existing file ................ pass test32 @1764735445: Test overstriping with layout_file_create ................. pass test33 @1764735445: Test overstriping with llapi_file_open .................... pass test34 @1764735445: create simple valid & invalid self extending layouts ...... pass test35 @1764735445: create a file with layout different from default .......... pass Destroy the created pools: testpool lustre.testpool oleg328-server: OST lustre-OST0000_UUID removed from pool lustre.testpool oleg328-server: OST lustre-OST0001_UUID removed from pool lustre.testpool oleg328-server: Pool lustre.testpool destroyed Waiting 90s for 'foo'