Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13426

"lfs migrate" on DoM component clobbers LOV EA FID

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Lustre 2.14.0
    • Labels:
    • Severity:
      3
    • Rank (Obsolete):
      9223372036854775807

      Description

      Running the following test breaks the FID stored in the LOV EA. I was hoping that this FID would remain constant over the life of the file in order to implement LU-7607 "Preserve inode number after MDT migration", but it seems that migrating a file with a DOM component somehow breaks the layout in the LOV EA:

      tests# lfs setstripe -E 1M -L mdt -E 1G -c 3 -E eof /mnt/testfs/tt
      tests# dd if=/dev/zero of=/mnt/testfs/tt bs=1M count=2
      tests# lfs path2fid /mnt/testfs/tt
      [0x200001b72:0x10c07:0x0]
      tests# lfs getstripe -v /mnt/testfs/tt
      components:
        - lcme_id:             1
          lcme_extent.e_start: 0
          lcme_extent.e_end:   1048576
          sub_layout:
            lmm_seq:           0x200001b72
            lmm_object_id:     0x10c07
            lmm_fid:           [0x200001b72:0x10c07:0x0]
            lmm_stripe_count:  0
            lmm_pattern:       mdt
        - lcme_id:             2
          lcme_extent.e_start: 1048576
          lcme_extent.e_end:   1073741824
          sub_layout:
            lmm_seq:           0x200001b72
            lmm_object_id:     0x10c07
            lmm_fid:           [0x200001b72:0x10c07:0x0]
        - lcme_id:             3
          lcme_extent.e_start: 1073741824
          lcme_extent.e_end:   EOF
          sub_layout:
            lmm_seq:           0x200001b72
            lmm_object_id:     0x10c07
            lmm_fid:           [0x200001b72:0x10c07:0x0]
      
      tests# lfs migrate -c 3 /mnt/testfs/tt
      tests# lfs getstripe -v /mnt/testfs/tt
      lmm_seq:           0
      lmm_object_id:     0x3000000000005
      lmm_fid:           [0x3000000000005:0x0:0x30000]
      

      As you can see, the FID is originally [0x200001b72:0x10c07:0x0] and that is also stored in the LOV EA (irrelevant lines cut out) for each component as lmm_fid:, which is good. If there is no DOM component, then "lfs migrate -m" will not change the FID stored in the layout. However, as can be seen with a DOM component, the lmm_fid: is messed up. It looks like it wasn't initialized in the target layout, and/or not copied over during layout swap.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tappro Mikhail Pershin
                Reporter:
                adilger Andreas Dilger
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: