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

OST pool inheritence is no longer persistent (no LOV EA for child directory)

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.7.0, Lustre 2.5.4
    • Lustre 2.6.0, Lustre 2.7.0, Lustre 2.5.2, Lustre 2.4.3
    • el6
      Lustre 2.4 to Lustre 2.7 (master).
    • 3
    • 16515

    Description

      A child directory should inherit from the OST pool of its parent.

      In Lustre 2.4 to master (2.7), this is no longer the case: the child directory has no LOV EA stored on the MDS, so the pool inheritance is lost when the MDS restarts.

      lfs getstripe indicates the child directory doesn't inherit from its parent pool.

      mkdir /mnt/lustre/dir
      lfs setstripe -p lustre.pool1 /mnt/lustre/dir
      lfs getstripe -p /mnt/lustre/dir
      returns "lustre.pool1" (correct)
      mkdir /mnt/lustre/dir/subdir
      lfs getstripe -p /mnt/lustre/dir/subdir
      -> empty (should return lustre.pool1)
      getfattr -n trusted.lov -d /mnt/lustre/dir/subdir
      /mnt/lustre/dir/subdir: trusted.lov: No such attribute
      touch /mnt/lustre/dir/subdir/file
      lfs getstripe -p /mnt/lustre/dir/subdir/file
      returns "lustre.pool1" (correct). Its seams the MDS inherited the pool somehow.

      Then, after restarting the MDS:
      touch /mnt/lustre/dir/subdir/file2
      lfs getstripe -p /mnt/lustre/dir/subdir/file2
      -> empty (should be lustre.pool1)

      Attachments

        Activity

          [LU-5916] OST pool inheritence is no longer persistent (no LOV EA for child directory)

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13411/
          Subject: LU-5916 lod: inherit default pool setting properly
          Project: fs/lustre-release
          Branch: b2_5
          Current Patch Set:
          Commit: 56211bf18fbca9930d77cea1ee0e3f2d83d59ec4

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13411/ Subject: LU-5916 lod: inherit default pool setting properly Project: fs/lustre-release Branch: b2_5 Current Patch Set: Commit: 56211bf18fbca9930d77cea1ee0e3f2d83d59ec4
          niu Niu Yawei (Inactive) added a comment - port to b2_5: http://review.whamcloud.com/#/c/13411/

          Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/13411
          Subject: LU-5916 lod: inherit default pool setting properly
          Project: fs/lustre-release
          Branch: b2_5
          Current Patch Set: 1
          Commit: 840c3fa79c535578b17037ae9f3f6a4838255531

          gerrit Gerrit Updater added a comment - Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/13411 Subject: LU-5916 lod: inherit default pool setting properly Project: fs/lustre-release Branch: b2_5 Current Patch Set: 1 Commit: 840c3fa79c535578b17037ae9f3f6a4838255531

          Sure, I'm going to port it to b2_5.

          niu Niu Yawei (Inactive) added a comment - Sure, I'm going to port it to b2_5.

          Could a backport to b2_5 be considered? The patch fixes a critical regression.

          hdoreau Henri Doreau (Inactive) added a comment - Could a backport to b2_5 be considered? The patch fixes a critical regression.

          Patch landed to Master.

          jlevi Jodi Levi (Inactive) added a comment - Patch landed to Master.

          Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12746/
          Subject: LU-5916 lod: inherit default pool setting properly
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: e8214d6bd4ccc3ff386c77904664c60f1848ef11

          gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12746/ Subject: LU-5916 lod: inherit default pool setting properly Project: fs/lustre-release Branch: master Current Patch Set: Commit: e8214d6bd4ccc3ff386c77904664c60f1848ef11

          Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/12746
          Subject: LU-5916 lod: inherit default pool setting properly
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 2
          Commit: 4c11c85c283bb200cadc492be42b298aefea1177

          gerrit Gerrit Updater added a comment - Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/12746 Subject: LU-5916 lod: inherit default pool setting properly Project: fs/lustre-release Branch: master Current Patch Set: 2 Commit: 4c11c85c283bb200cadc492be42b298aefea1177

          I looked into the code closer and realized that the NAME_LOV for default stripping/pool is declared in lod_declare_object_create() and the NAME_LOV is set in mdd_object_create() -> lod_xattr_set() -> lod_dir_striping_create(), but for the case of parent has only pool setting (no default stripping), inheriting NAME_LOV is skipped mistakenly, see lod_dir_striping_create_internal():

                  /* Transfer default LOV striping from the parent */
                  if (lo->ldo_striping_cached &&
                      !LOVEA_DELETE_VALUES(lo->ldo_def_stripe_size,
                                           lo->ldo_def_stripenr,
                                           lo->ldo_def_stripe_offset)){
          

          This patch fix the problem: http://review.whamcloud.com/#/c/12746

          niu Niu Yawei (Inactive) added a comment - I looked into the code closer and realized that the NAME_LOV for default stripping/pool is declared in lod_declare_object_create() and the NAME_LOV is set in mdd_object_create() -> lod_xattr_set() -> lod_dir_striping_create(), but for the case of parent has only pool setting (no default stripping), inheriting NAME_LOV is skipped mistakenly, see lod_dir_striping_create_internal(): /* Transfer default LOV striping from the parent */ if (lo->ldo_striping_cached && !LOVEA_DELETE_VALUES(lo->ldo_def_stripe_size, lo->ldo_def_stripenr, lo->ldo_def_stripe_offset)){ This patch fix the problem: http://review.whamcloud.com/#/c/12746

          Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/12746
          Subject: LU-5916 lod: inherit default pool setting properly
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 2b237b11932af2b8dcf4a0401fc8e6c7cee37fbf

          gerrit Gerrit Updater added a comment - Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/12746 Subject: LU-5916 lod: inherit default pool setting properly Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 2b237b11932af2b8dcf4a0401fc8e6c7cee37fbf

          People

            niu Niu Yawei (Inactive)
            leibovici-cea Thomas LEIBOVICI - CEA (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: