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

Add parent FID to CL_LAYOUT changelog records

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • Lustre 2.15.2
    • None
    • 3
    • 9223372036854775807

    Description

      The parent FID on some CL_LAYOUT changelog records is either incorrect or missing:

      # git rev-parse --abbrev-ref HEAD
      master
      # git describe
      v2_15_53-54-g3dd73b5c5d
      # lctl set_param mdd.*.changelog_mask=ALL
      mdd.testfs-MDT0000.changelog_mask=ALL
      mdd.testfs-MDT0001.changelog_mask=ALL
      # lfs mirror create -N2 -S 2M -c -1 /mnt/lustre/testdir0/testfile3
      # lfs mirror split --mirror-id 1 /mnt/lustre/testdir0/testfile3 -f /mnt/lustre/testdir0/testfile3_old_mirror
      # lfs changelog testfs-MDT0000 | grep LYOUT
      10080 12LYOUT 10:58:28.679831842 2023.01.13 0x0 t=[0x20000a812:0x1:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a042:0x1:0x0]
      10085 12LYOUT 10:59:10.186307098 2023.01.13 0x0 t=[0x20000a812:0x3:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a812:0x2:0x0]
      10099 12LYOUT 11:05:54.839659504 2023.01.13 0x0 t=[0x20000a812:0x4:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a812:0x2:0x0]
      10109 12LYOUT 11:06:16.777327819 2023.01.13 0x0 t=[0x20000a812:0x4:0x0] ef=0xf u=0:0 nid=0@lo p=[0x200000007:0x1:0x0]
      10110 12LYOUT 11:06:16.777334740 2023.01.13 0x0 t=[0x20000a812:0x5:0x0] ef=0xf u=0:0 nid=0@lo p=[0x200000007:0x1:0x0]
      # lfs fid2path /mnt/lustre 0x20000a812:0x4:0x0
      /mnt/lustre/testdir0/testfile3
      # lfs fid2path /mnt/lustre 0x20000a812:0x2:0x0
      /mnt/lustre/testdir0
      # lfs fid2path /mnt/lustre 0x200000007:0x1:0x0
      /mnt/lustre// <- incorrect
      # lfs fid2path /mnt/lustre 0x20000a812:0x5:0x0
      /mnt/lustre/testdir0/testfile3_old_mirror
      # lfs mirror create -N2 -S 2M -c -1 /mnt/lustre/testdir0/testdir1/testfile3
      # lfs mirror split --mirror-id 1 /mnt/lustre/testdir0/testdir1/testfile3 -f /mnt/lustre/testdir0/testdir1/testfile3_old_mirror
      # lfs changelog testfs-MDT0001 | grep LYOUT
      # lfs changelog testfs-MDT0000 | grep LYOUT
      10080 12LYOUT 10:58:28.679831842 2023.01.13 0x0 t=[0x20000a812:0x1:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a042:0x1:0x0]
      10085 12LYOUT 10:59:10.186307098 2023.01.13 0x0 t=[0x20000a812:0x3:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a812:0x2:0x0]
      10099 12LYOUT 11:05:54.839659504 2023.01.13 0x0 t=[0x20000a812:0x4:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a812:0x2:0x0]
      10109 12LYOUT 11:06:16.777327819 2023.01.13 0x0 t=[0x20000a812:0x4:0x0] ef=0xf u=0:0 nid=0@lo p=[0x200000007:0x1:0x0]
      10110 12LYOUT 11:06:16.777334740 2023.01.13 0x0 t=[0x20000a812:0x5:0x0] ef=0xf u=0:0 nid=0@lo p=[0x200000007:0x1:0x0]
      10120 12LYOUT 11:14:56.897017703 2023.01.13 0x0 t=[0x20000a812:0x7:0x0] ef=0xf u=0:0 nid=0@lo p=[0x20000a812:0x6:0x0]
      10128 12LYOUT 11:15:57.363209534 2023.01.13 0x0 t=[0x20000a812:0x7:0x0] ef=0xf u=0:0 nid=0@lo <- missing
      10129 12LYOUT 11:15:57.363218365 2023.01.13 0x0 t=[0x20000a812:0x8:0x0] ef=0xf u=0:0 nid=0@lo <- missing

      CL_LAYOUT changelog records can be useful for tools that read changelogs in determining HSM or mirror operations that have taken place in the filesystem; such tools can potentially use the parent FID in changelog entries to make some aspects of their operation more efficient, e.g. using fewer OBC_IOC_FID2PATH ioctls for determining which filesystem directories need to be rescanned, and/or reducing the number of updates to any databases they might be using, as per LU-13151.

      Attachments

        Issue Links

          Activity

            People

              nangelinas Nikitas Angelinas
              nangelinas Nikitas Angelinas
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: