-
Requirement
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
3
-
9223372036854775807
lfs migrate -m leaves a striped directory half-migrated (stuck in migrating state) when the MDT-side finalize/layout-shrink fails — exposed by LU-19809 / sanity test_60h
Description
While fixing the lfs migrate exit-code propagation in LU-19809, we discovered an underlying directory-migration bug that LU-19809 only exposes, and does not fix. This ticket tracks the real fix.
Background — what LU-19809 changed
Before LU-19809, the userspace migrate finalize callback (cb_migrate_mdt_fini() in liblustreapi.c) swallowed the error returned by the finalize step (the close() + setxattr(XATTR_NAME_LMV) that triggers the MDT-side layout shrink). As a result lfs migrate returned exit code 0 even when the migration did not actually complete. LU-19809 makes that error propagate so lfs migrate now exits non-zero when finalize fails.
That fix surfaced the actual defect: when the finalize step fails, the directory is left half-migrated (layout still shows migrating, e.g. crush,migrating), rather than being either fully migrated or cleanly rolled back.
How it reproduces run sanity test_60h
- is related to
-
LU-19809 lfs migrate returns exit status 0 despite migration errors
-
- Open
-