== sanity test 27D: validate llapi_layout API ============ 03:39:48 (1713425988) Creating new pool oleg248-server: Pool lustre.testpool created Adding targets to pool oleg248-server: OST lustre-OST0000_UUID added to pool lustre.testpool oleg248-server: OST lustre-OST0001_UUID added to pool lustre.testpool 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 test 4: Verify compatibility with 'lfs setstripe' ....................................... pass 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 test 26: LAYOUT_GET_EXPECTED partially specified parent .................................. pass test 27: LAYOUT_GET_EXPECTED with non existing file ...................................... pass test 28: LLAPI_LAYOUT_WIDE returned as expected .......................................... pass test 29: set ost index to non-zero stripe number ......................................... pass test 30: create composite file, traverse components ...................................... pass test 31: add/delete component to/from existing file ...................................... pass test 32: Test overstriping with layout_file_create ....................................... pass test 33: Test overstriping with llapi_file_open .......................................... pass test 34: create simple valid & invalid self extending layouts ............................ skip Destroy the created pools: testpool lustre.testpool oleg248-server: OST lustre-OST0000_UUID removed from pool lustre.testpool oleg248-server: OST lustre-OST0001_UUID removed from pool lustre.testpool oleg248-server: Pool lustre.testpool destroyed