== sanity test 27D: validate llapi_layout API ============ 11:17:38 (1754407058) Creating new pool testpool oleg448-server: Pool lustre.testpool created Adding targets to pool oleg448-server: OST lustre-OST0000_UUID added to pool lustre.testpool oleg448-server: OST lustre-OST0001_UUID added to pool lustre.testpool DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test0 @1754407065: Read/write layout attributes then create a file ............ pass test1 @1754407065: Read test0 file by path and verify attributes .............. pass test2 @1754407065: Read test0 file by FD and verify attributes ................ pass test3 @1754407065: Read test0 file by FID and verify attributes ............... pass test4 @1754407065: Verify compatibility with 'lfs setstripe' .................. pass test5 @1754407065: llapi_layout_get_by_path ENOENT handling ................... pass test6 @1754407065: llapi_layout_get_by_fd EBADF handling ...................... pass test7 @1754407065: llapi_layout_get_by_path EACCES handling ................... pass test8 @1754407065: llapi_layout_get_by_path ENODATA handling .................. pass test9 @1754407065: verify llapi_layout_pattern_set() return values ............ pass test10 @1754407065: stripe_count error handling ............................... pass test11 @1754407065: stripe_size error handling ................................ pass test12 @1754407065: pool_name error handling .................................. pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test13 @1754407065: ost_index error handling .................................. pass test14 @1754407065: llapi_layout_file_create error handling ................... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test15 @1754407065: Can't change striping attributes of existing file ......... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test16 @1754407065: Default stripe attributes are applied as expected ......... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test17 @1754407066: LLAPI_LAYOUT_WIDE is honored .............................. pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test18 @1754407066: Setting pool with fsname.pool notation .................... pass test19 @1754407066: Maximum length pool name is NULL-terminated ............... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test20 @1754407066: LLAPI_LAYOUT_DEFAULT is honored ........................... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test21 @1754407066: llapi_layout_file_create fails for non-Lustre file ........ pass test22 @1754407066: llapi_layout_file_create applied mode correctly ........... pass test23 @1754407066: llapi_layout_get_by_path fails for non-Lustre file ........ pass test24 @1754407066: LAYOUT_GET_EXPECTED works with existing file .............. pass test25 @1754407066: LAYOUT_GET_EXPECTED works with directory .................. pass test26 @1754407066: LAYOUT_GET_EXPECTED partially specified parent ............ pass test27 @1754407066: LAYOUT_GET_EXPECTED with non existing file ................ pass test28 @1754407066: LLAPI_LAYOUT_WIDE returned as expected .................... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test29 @1754407066: set ost index to non-zero stripe number ................... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 67108864] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=67108864 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[134217728, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 67108864] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 67108864], curr=[134217728, 1073741824] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: VALIDATION FAILED: LSE_NOT_ADJACENT_PREV DEBUG: prev->end=67108864 != curr->start=134217728 DEBUG: Component validation failed, stopping with error 12 DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 67108864] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=67108864 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[67108864, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 67108864] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 67108864], curr=[67108864, 1073741824] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=67108864, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[67108864, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[67108864, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing test30 @1754407066: create composite file, traverse components ................ pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 67108864] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=67108864 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x10, extent=[0, 67108864] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=67108864 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[67108864, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x10, extent=[0, 67108864] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 67108864], curr=[67108864, 18446744073709551615] DEBUG: prev flags=0x10, curr flags=0x0 DEBUG: Checking start <= end: start=67108864, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x10, extent=[0, 67108864] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=67108864 DEBUG: Component validation passed, continuing test31 @1754407066: add/delete component to/from existing file ................ pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing test32 @1754407066: Test overstriping with layout_file_create ................. pass test33 @1754407066: Test overstriping with llapi_file_open .................... pass DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 10485760] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=10485760 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x40, extent=[10485760, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 10485760] DEBUG: Component validation failed, stopping with error 2 DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 10485760] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=10485760 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x40, extent=[10485760, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 10485760] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 10485760], curr=[10485760, 1073741824] DEBUG: prev flags=0x0, curr flags=0x40 DEBUG: Checking start <= end: start=10485760, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x40, extent=[10485760, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[10485760, 1073741824], curr=[1073741824, 1073741824] DEBUG: prev flags=0x40, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x40, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x40 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x10, extent=[0, 10485760] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=10485760 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x40, extent=[10485760, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x10, extent=[0, 10485760] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 10485760], curr=[10485760, 1073741824] DEBUG: prev flags=0x10, curr flags=0x40 DEBUG: Checking start <= end: start=10485760, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x40, extent=[10485760, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[10485760, 1073741824], curr=[1073741824, 1073741824] DEBUG: prev flags=0x40, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x40, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x40 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing test34 @1754407066: create simple valid & invalid self extending layouts ...... pass Adding parity component with LCME_FL_PARITY flag (0x80) DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 18446744073709551615], curr=[0, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing EC layout validation passed successfully test35 @1754407066: create simple EC layout with data and parity components ... pass LCME_FL_PARITY flag correctly rejected by flags_set function test36 @1754407066: verify LCME_FL_PARITY cannot be set with flags_set function pass Non-parity component correctly rejected non-zero cstripe/dstripe Parity component correctly rejected zero cstripe/dstripe test37 @1754407066: verify comp_add_opts parameter validation for EC components pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 10485760] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Hit start=0 data component without finding match Parity component correctly rejected non-matching extent test38 @1754407066: verify parity component with non-matching extent fails .... pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 1073741824] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 1073741824] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing Multiple data+parity components layout validation passed test39 @1754407066: verify multiple data + multiple parity components layout .. pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 268435456] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [268435456, 536870912], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 268435456], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 268435456] DEBUG: Setting EC parameters: dstripe=2, cstripe=1 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [268435456, 536870912] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 268435456], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [268435456, 536870912], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [268435456, 536870912] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [268435456, 536870912], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [0, 268435456], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a00 DEBUG: Setting extent for parity component [536870912, 1073741824] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [536870912, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [268435456, 536870912], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [0, 268435456], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a90 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=8, cstripe=3 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 268435456] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=268435456 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[268435456, 536870912] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 268435456] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 268435456], curr=[268435456, 536870912] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=268435456, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[268435456, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[268435456, 536870912], curr=[536870912, 1073741824] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 268435456] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 268435456] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=268435456 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[268435456, 536870912] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 268435456] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 268435456], curr=[268435456, 536870912] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=268435456, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[268435456, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[268435456, 536870912], curr=[536870912, 1073741824] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing Complex multi-component EC layout validation passed test40 @1754407066: verify complex multi-component EC layout .................. pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed EC component correctly rejected on incomplete layout test41 @1754407066: verify EC component cannot be added to incomplete layout .. pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [536870912, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [536870912, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a00 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 536870912] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 536870912], curr=[536870912, 1073741824] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[536870912, 1073741824] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Allowing EC parity component with non-adjacent extent DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing Valid partial EC component ordering passed test42 @1754407066: verify valid partial EC component ordering ................ pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [536870912, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [536870912, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a00 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 536870912] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Parity extent overlap detected: end=18446744073709551615 > expected_start=0 Out-of-order EC component correctly rejected test43 @1754407066: verify invalid out-of-order EC component addition ......... pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 268435456] DEBUG: Skipping current component DEBUG: Examining component with extent [536870912, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [268435456, 536870912], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 268435456], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 268435456] DEBUG: Setting EC parameters: dstripe=2, cstripe=1 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [268435456, 536870912] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 268435456], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [536870912, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [268435456, 536870912], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [268435456, 536870912] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [268435456, 536870912], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [0, 268435456], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [536870912, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a00 DEBUG: Setting extent for parity component [536870912, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 268435456] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=268435456 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[268435456, 536870912] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 268435456] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 268435456], curr=[268435456, 536870912] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=268435456, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[536870912, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[268435456, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[268435456, 536870912], curr=[536870912, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=536870912, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 268435456] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[536870912, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 18446744073709551615], curr=[0, 268435456] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=268435456 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[268435456, 536870912] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 268435456] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 268435456], curr=[268435456, 536870912] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=268435456, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[536870912, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[268435456, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[268435456, 536870912], curr=[536870912, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=536870912, end=18446744073709551615 DEBUG: Component validation passed, continuing Complete EC layout with all components passed test44 @1754407066: verify additional EC component ordering scenarios ......... pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 1073741824] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 1073741824] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 2147483648] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=2147483648 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[2147483648, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 2147483648] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 2147483648], curr=[2147483648, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=2147483648, end=18446744073709551615 DEBUG: Component validation passed, continuing Two mirror layout with EC on first mirror passed test45 @1754407066: verify EC layout with two mirrors - EC only first mirror .. pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5b20 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5bb0 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 1073741824] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 1073741824] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 1073741824] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing Two mirror layout with EC on both mirrors passed test46 @1754407066: verify EC layout with two mirrors - EC both mirrors ....... pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 536870912] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 536870912], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 536870912] DEBUG: Setting EC parameters: dstripe=2, cstripe=1 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 536870912], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [536870912, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [536870912, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [0, 536870912], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a00 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 536870912] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 536870912], curr=[536870912, 1073741824] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 536870912] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 536870912] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 536870912], curr=[536870912, 1073741824] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 2147483648] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=2147483648 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[2147483648, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 2147483648] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 2147483648], curr=[2147483648, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=2147483648, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[2147483648, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=18446744073709551615 DEBUG: Component validation passed, continuing Three mirror layout with different extents passed test47 @1754407066: verify three mirrors with different extents - EC first only pass Zero stripe count validation passed test48 @1754407066: verify EC components with zero stripe counts are rejected . pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [2147483648, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [1073741824, 2147483648], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 1610612736] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Parity extent overlap detected: end=1073741824 > expected_start=536870912 Overlapping EC extent validation passed test49 @1754407066: verify overlapping EC extents are rejected ................ pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 536870912] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [536870912, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 536870912], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 536870912] DEBUG: Setting EC parameters: dstripe=2, cstripe=1 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 536870912], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5a00 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[0, 536870912] DEBUG: prev component: NULL DEBUG: Component starts at 0, checking if new mirror DEBUG: Setting first_comp = true (new mirror) DEBUG: Setting prev = NULL (new mirror) DEBUG: About to check adjacency, prev=NULL DEBUG: Checking start <= end: start=0, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[536870912, 1073741824] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[0, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 536870912], curr=[536870912, 1073741824] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=536870912, end=1073741824 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[536870912, 1073741824] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[536870912, 1073741824], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x0, curr flags=0x0 DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[0, 536870912] DEBUG: prev component: found DEBUG: prev component flags=0x0, extent=[1073741824, 18446744073709551615] DEBUG: Component starts at 0, checking if new mirror DEBUG: Not setting first_comp for EC parity component DEBUG: Keeping prev for EC parity component DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[1073741824, 18446744073709551615], curr=[0, 536870912] DEBUG: prev flags=0x0, curr flags=0x80 DEBUG: Checking start <= end: start=0, end=536870912 DEBUG: Component validation passed, continuing DEBUG: llapi_layout_sanity_cb: component flags=0x80, extent=[1073741824, 18446744073709551615] DEBUG: prev component: found DEBUG: prev component flags=0x80, extent=[0, 536870912] DEBUG: About to check adjacency, prev=exists DEBUG: Checking adjacency: prev=[0, 536870912], curr=[1073741824, 18446744073709551615] DEBUG: prev flags=0x80, curr flags=0x80 DEBUG: Allowing EC parity component with non-adjacent extent DEBUG: Checking start <= end: start=1073741824, end=18446744073709551615 DEBUG: Component validation passed, continuing EC component gap validation passed test50 @1754407066: verify EC components can skip data components (gaps allowed) pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed Invalid extent range validation passed test51 @1754407066: verify invalid EC extent ranges are rejected .............. pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully EC parameter constraint validation passed test52 @1754407066: verify EC parameter constraints are enforced .............. pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Examining component with extent [0, 1073741824], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae58e0 DEBUG: Setting extent for parity component [0, 1073741824] DEBUG: Setting EC parameters: dstripe=4, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [0, 1073741824] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Parity extent overlap detected: end=1073741824 > expected_start=0 DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [536870912, 1610612736] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Parity extent overlap detected: end=1073741824 > expected_start=536870912 DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed DEBUG: Starting component search, looking for extent [1073741824, 18446744073709551615] DEBUG: Skipping current component DEBUG: Examining component with extent [0, 1073741824], flags=0x80 DEBUG: Found parity component, checking continuity DEBUG: Examining component with extent [1073741824, 18446744073709551615], flags=0x0 DEBUG: Found data component, checking extent match DEBUG: Found matching data component! DEBUG: Component search complete. found_data_comp=true, data_comp=0x1ae5970 DEBUG: Setting extent for parity component [1073741824, 18446744073709551615] DEBUG: Setting EC parameters: dstripe=6, cstripe=2 DEBUG: __llapi_layout_add_parity_comp completed successfully Duplicate EC component validation passed test53 @1754407066: verify duplicate EC components are rejected ............... pass DEBUG: Current component flags: 0x80 DEBUG: PARITY flag validation passed API parameter validation passed test54 @1754407066: verify API parameter validation and error handling ........ pass Destroy the created pools: testpool lustre.testpool oleg448-server: OST lustre-OST0000_UUID removed from pool lustre.testpool oleg448-server: OST lustre-OST0001_UUID removed from pool lustre.testpool oleg448-server: Pool lustre.testpool destroyed