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

lfsck of upgraded 1.8 filesystem does not add linkEA

Details

    • Bug
    • Resolution: Won't Fix
    • Minor
    • Lustre 2.5.5
    • Lustre 2.5.4
    • 3
    • 17601

    Description

      The filesystem was formatted with 1.x, so has many inodes with IGIF FIDs. OI Scrub was run under 2.4.3 to create the OI files and lma xattrs on all files.

      Running lctl lfsck_start -M myth-MDT0000 -t namespace on the MDS (even multiple times) with 2.5.3+ does not appear to create the link xattrs on directories, even though it has created link xattrs on the regular files. This means that lfs fid2path does not work properly.

      There appears to be some errors that LFSCK hits (see first_failure_position below), but it does not report them to the log, so there is no way to know what is going wrong.

      # lctl get_param mdd.*.lfsck_namespace
      mdd.myth-MDT0000.lfsck_namespace=
      name: lfsck_namespace
      magic: 0xa0629d03
      version: 2
      status: completed
      flags: scanned-once,inconsistent
      param: (null)
      time_since_last_completed: 233 seconds
      time_since_latest_start: 349 seconds
      time_since_last_checkpoint: 233 seconds
      latest_start_position: 13, N/A, N/A
      last_checkpoint_position: 2621440, N/A, N/A
      first_failure_position: 32769, [0x8001:0x4145293e:0x0], 1051280482039016589
      checked_phase1: 3104290
      checked_phase2: 0
      updated_phase1: 912977
      updated_phase2: 0
      failed_phase1: 0
      failed_phase2: 0
      dirs: 84295
      M-linked: 0
      nlinks_repaired: 0
      lost_found: 0
      success_count: 12
      run_time_phase1: 116 seconds
      run_time_phase2: 0 seconds
      average_speed_phase1: 26761 items/sec
      average_speed_phase2: 0 objs/sec
      real-time_speed_phase1: N/A
      real-time_speed_phase2: N/A
      current_position: N/A
      

      There are only useless log entries from OI Scrub instead:

      00000004:10000000:1.0:1424838545.669434:0:2326:0:(osd_scrub.c:1240:osd_otable_it_preload()) OSD pre-loaded: max = 2621440, preload = 10470, rc = 0
      00000004:10000000:1.0:1424838545.669464:0:2326:0:(osd_scrub.c:1240:osd_otable_it_preload()) OSD pre-loaded: max = 2621440, preload = 10471, rc = 0
      00000004:10000000:1.0:1424838545.669501:0:2326:0:(osd_scrub.c:1240:osd_otable_it_preload()) OSD pre-loaded: max = 2621440, preload = 10474, rc = 0
      00000004:10000000:1.0:1424838545.669773:0:2326:0:(osd_scrub.c:1240:osd_otable_it_preload()) OSD pre-loaded: max = 2621440, preload = 32769, rc = 0
      00000004:10000000:1.0:1424838545.670051:0:2326:0:(osd_scrub.c:1240:osd_otable_it_preload()) OSD pre-loaded: max = 2621440, preload = 32770, rc = 0
      00000004:10000000:1.0:1424838545.670686:0:2326:0:(osd_scrub.c:1240:osd_otable_it_preload()) OSD pre-loaded: max = 2621440, preload = 32775, rc = 0
      

      The first_failure_location is a directory in the namespace:

      debugfs:  ncheck 0x8001
      Inode   Pathname
      32769   /ROOT/backup/ruby/Music/U2
      debugfs:  stat <0x8001>
      Inode: 32769   Type: directory    Mode:  0500   Flags: 0x0
      Generation: 1095051582    Version: 0x00000000:00000000
      User:  1000   Group:  1000   Size: 4096
      File ACL: 0    Directory ACL: 0
      Links: 5   Blockcount: 8
      Fragment:  Address: 0    Number: 0    Size: 0
       ctime: 0x4a6548f7:00000000 -- Mon Jul 20 22:49:59 2009
       atime: 0x53d6d027:01b56e18 -- Mon Jul 28 16:35:19 2014
       mtime: 0x48699a91:00000000 -- Mon Jun 30 20:46:41 2008
      crtime: 0x4a6548e2:21db6948 -- Mon Jul 20 22:49:38 2009
      Size of extra inode fields: 28
      Extended attributes stored in inode body: 
        lma = "00 00 00 00 00 00 00 00 01 80 00 00 00 00 00 00 3e 29 45 41 00 00 00 00 " (24)
        lma: fid=[0x8001:0x4145293e:0x0] compat=0 incompat=0
      BLOCKS:
      (0):53248
      TOTAL: 1
      

      Attachments

        Activity

          [LU-6278] lfsck of upgraded 1.8 filesystem does not add linkEA

          The issue has been resolved on master, we have no plan to land more patches for b2_5 based release. Then close the ticket.

          yong.fan nasf (Inactive) added a comment - The issue has been resolved on master, we have no plan to land more patches for b2_5 based release. Then close the ticket.
          adilger Andreas Dilger added a comment - - edited

          I removed the lfsck_bookmark and lfsck_namespace files, and re-ran LFSCK, which cleared the dryrun flag. It no longer shows the first_failure_location, and now the link xattrs were created:

          # lfs fid2path /myth "[0x8001:0x4145293e:0x0]"
          /myth/backup/ruby/Music/U2
          

          It seems like a defect that dryrun isn't cleared once the lfsck run is completed, rather than staying set until it is manually removed.

          adilger Andreas Dilger added a comment - - edited I removed the lfsck_bookmark and lfsck_namespace files, and re-ran LFSCK, which cleared the dryrun flag. It no longer shows the first_failure_location , and now the link xattrs were created: # lfs fid2path /myth "[0x8001:0x4145293e:0x0]" /myth/backup/ruby/Music/U2 It seems like a defect that dryrun isn't cleared once the lfsck run is completed, rather than staying set until it is manually removed.
          yong.fan nasf (Inactive) added a comment - - edited

          On master branch, the "dryrun" flag will be clear automatically when "-r" specified. I will back port the patch to b2_5. But before that, you can specify "--dryrun off" for the same purpose.

          yong.fan nasf (Inactive) added a comment - - edited On master branch, the "dryrun" flag will be clear automatically when "-r" specified. I will back port the patch to b2_5. But before that, you can specify "--dryrun off" for the same purpose.

          It doesn't seem possible to clear the dryrun setting, even with -r.

          adilger Andreas Dilger added a comment - It doesn't seem possible to clear the dryrun setting, even with -r .

          With the updated patches applied to the MDS it does look like dryrun was enabled:

          mdd.myth-MDT0000.lfsck_namespace=
          name: lfsck_namespace
          magic: 0xa0629d03
          version: 2
          status: completed
          flags: scanned-once,inconsistent
          param: dryrun
          time_since_last_completed: 16716 seconds
          time_since_latest_start: 17122 seconds
          time_since_last_checkpoint: 16716 seconds
          
          adilger Andreas Dilger added a comment - With the updated patches applied to the MDS it does look like dryrun was enabled: mdd.myth-MDT0000.lfsck_namespace= name: lfsck_namespace magic: 0xa0629d03 version: 2 status: completed flags: scanned-once,inconsistent param: dryrun time_since_last_completed: 16716 seconds time_since_latest_start: 17122 seconds time_since_last_checkpoint: 16716 seconds

          Fan Yong (fan.yong@intel.com) uploaded a new patch: http://review.whamcloud.com/13861
          Subject: LU-6278 lfsck: show lfsck parameter correctly
          Project: fs/lustre-release
          Branch: b2_5
          Current Patch Set: 1
          Commit: 9337942978442695cb2b36f729c005f4fa397e9e

          gerrit Gerrit Updater added a comment - Fan Yong (fan.yong@intel.com) uploaded a new patch: http://review.whamcloud.com/13861 Subject: LU-6278 lfsck: show lfsck parameter correctly Project: fs/lustre-release Branch: b2_5 Current Patch Set: 1 Commit: 9337942978442695cb2b36f729c005f4fa397e9e
          status: completed
          flags: scanned-once,inconsistent
          

          That means the LFSCK is running under "dryrun" mode, but because of some bug on b2_5, such param has not been shown correctly. I will make patch to verify that.

          yong.fan nasf (Inactive) added a comment - status: completed flags: scanned-once,inconsistent That means the LFSCK is running under "dryrun" mode, but because of some bug on b2_5, such param has not been shown correctly. I will make patch to verify that.

          People

            yong.fan nasf (Inactive)
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: