Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-1303 LOD/OSP Implementation
  3. LU-2045

clean up inherited default striping in LOD

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Fixed
    • Minor
    • None
    • Lustre 2.4.0
    • None
    • 4253

    Description

      Per discussion in http://review.whamcloud.com/4054, it would be desirable to clean up the handling for inherited/default striping in the LOD code:

      Is this default striping written to disk for new directories, or just cached in memory?

      Directories without an explicit default striping should get their striping from the current filesystem default values.

      To which Alex replied:

      I just checked on a live filesystem that if (LOVEA_DELETE_VALUES()) RETURN(0); in lod_store_def_striping() works to do like you said: do not write fs-wide default striping.

      I think that non-existing LOVEA is equal to LOVEA storing "current default fs striping". and it's OK to set it to every directory unless the parent has own one? then in lod_store_def_striping() we just skip actual storing.

      lod_cache_parent_striping():

      if (rc < sizeof(struct lov_user_md)) {
      /* don't lookup for non-existing or invalid striping */
      lp->ldo_def_striping_set = 0;
      lp->ldo_striping_cached = 1;
      lp->ldo_def_stripe_size = 0;
      lp->ldo_def_stripenr = 0;
      lp->ldo_def_stripe_offset = (typeof(v1->lmm_stripe_offset))(-1);
      GOTO(unlock, rc = 0);

      IOW, the object will be storing an indirect pointer to fs-wide default striping, not some actual one.

      currently memory footprint is the same all the time. though I'd agree we could save on this and allocate additional memory for directories with non-default striping only.

      This bug is to track the outstanding cleanup.

      Attachments

        Activity

          People

            bzzz Alex Zhuravlev
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: