Details
-
Improvement
-
Resolution: Fixed
-
Major
-
None
-
None
-
3
-
9223372036854775807
Description
Repeating the mdt migrate procedure (in case of migration failure for example) doesn't check that new striping already applied. for example, if 999 of directories were migrated and only one dir migration wasn't completed due to an open file in that directory, repeating the same lfs migrate command will try to restripe all the 1000 dirs again:
[root@rocky tests]# ../utils/lfs getdirstripe /mnt/lustre/testdir/dir0-8 lmv_stripe_count: 1 lmv_stripe_offset: 1 lmv_hash_type: crush,fixed mdtidx FID[seq:oid:ver] 1 [0x240000400:0x282:0x0] [root@rocky tests]# ../utils/lfs migrate -m 1 /mnt/lustre/testdir [root@rocky tests]# ../utils/lfs getdirstripe /mnt/lustre/testdir/dir0-8 lmv_stripe_count: 1 lmv_stripe_offset: 1 lmv_hash_type: crush,fixed mdtidx FID[seq:oid:ver] 1 [0x240000400:0x2f1:0x0] [root@rocky tests]# ../utils/lfs getdirstripe /mnt/lustre/testdir/dir0-8 lmv_stripe_count: 1 lmv_stripe_offset: 1 lmv_hash_type: crush,fixed mdtidx FID[seq:oid:ver] 1 [0x240000400:0x2f1:0x0] [root@rocky tests]# ../utils/lfs path2fid /mnt/lustre/testdir/dir0-8 [0x240000404:0x605:0x0] [root@rocky tests]# ../utils/lfs migrate -m 1 /mnt/lustre/testdir [root@rocky tests]# ../utils/lfs getdirstripe /mnt/lustre/testdir/dir0-8 lmv_stripe_count: 1 lmv_stripe_offset: 1 lmv_hash_type: crush,fixed mdtidx FID[seq:oid:ver] 1 [0x240000400:0x360:0x0] [root@rocky tests]# ../utils/lfs path2fid /mnt/lustre/testdir/dir0-8 [0x240000404:0x6d8:0x0] [root@rocky tests]#
as you see, FIDs for the /mnt/lustre/testdir/dir0-8 and its stripes change with each "lfs migrate".
Not repeating migrate over already migrated dirs looks as a useful improvement for massive mdt migrate operations.
Merged for 2.17