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

'lfs migrate' is creating multiple sets of objects

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Minor Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

      When running "lfs migrate" on a PFL file, it appears that the client/MDS are needlessly creating multiple sets of OST objects:

      # lfs setstripe -E 1M -c 1 -E 16M -c 4 -E eof -c -1 /mnt/testfs/pfl
      # fallocate -L 4M /mnt/testfs/pfl
      # lfs getstripe /mnt/testfs/pfl | grep l_ost_idx
            - 0: { l_ost_idx: 0, l_fid: [0x100000000:0xed5:0x0] }
            - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x653:0x0] }
            - 1: { l_ost_idx: 1, l_fid: [0x100010000:0xb93:0x0] }
            - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x62c:0x0] }
            - 3: { l_ost_idx: 0, l_fid: [0x100000000:0xed7:0x0] }
      # lfs migrate /mnt/testfs/pfl
      # lfs getstripe /mnt/testfs/pfl | grep l_ost_idx
            - 0: { l_ost_idx: 0, l_fid: [0x100000000:0xed8:0x0] }
            - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x655:0x0] }
            - 1: { l_ost_idx: 1, l_fid: [0x100010000:0xb95:0x0] }
            - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x62e:0x0] }
            - 3: { l_ost_idx: 0, l_fid: [0x100000000:0xeda:0x0] }
      # lfs migrate /mnt/testfs/pfl
      # lfs getstripe /mnt/testfs/pfl | grep l_ost_idx
            - 0: { l_ost_idx: 0, l_fid: [0x100000000:0xedb:0x0] }
            - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x657:0x0] }
            - 1: { l_ost_idx: 1, l_fid: [0x100010000:0xb97:0x0] }
            - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x630:0x0] }
            - 3: { l_ost_idx: 0, l_fid: [0x100000000:0xedd:0x0] }
      # lfs migrate /mnt/testfs/pfl
      # lfs getstripe /mnt/testfs/pfl | grep l_ost_idx
            - 0: { l_ost_idx: 0, l_fid: [0x100000000:0xede:0x0] }
            - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x659:0x0] }
            - 1: { l_ost_idx: 1, l_fid: [0x100010000:0xb99:0x0] }
            - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x632:0x0] }
            - 3: { l_ost_idx: 0, l_fid: [0x100000000:0xee0:0x0] }
      

      As can be seen from the above, each "lfs migrate" command increments most OST FIDs by two, and OST0000 by three (because it has two separate objects for this file). The filesystem has 4 OSTs.

            wc-triage WC Triage
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: