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

FLR-EC: increase maximum number of mirrors allowed

    XMLWordPrintable

Details

    • 3
    • 9223372036854775807

    Description

      The current LUSTRE_MIRROR_COUNT_MAX is an arbitrary limit imposed to avoid users specifying huge numbers of mirrors and potentially causing problems in the code. With EC using mirrors for EC parity components, it makes sense to expand this limit as part of feature development.

      There should be a new LUSTRE_MIRROR_COUNT_DEF=16 added, and used in places where the layouts are being created.. The LUSTRE_MIRROR_COUNT_MAX should be increased to something like 128 or 256 and kept in places that are accessing existing layouts (which might be larger in the future, so should code should be flexible in what it accepts). 128 or 256 mirrors should be enough for now, since this would allow 16+2 RAID Set for a full 2000-stripe file.

      It probably makes sense to add a server-side tunable parameter like lod.*.mirror_count_max that is LUSTRE_MIRROR_COUNT_DEF by default (to avoid issues with current clients seeing too-many-mirrors files), that can be used in lod_declare_layout_merge() instead of a hard-coded constant. That would maintain compatibility for existing clients that may have some grief processing a layout with more mirrors, while allowing the number of mirrors to be increased dynamically in the future when all clients can handle this. This is the only code on the server that checks the mirror count. The remaining checks are in lfs.c, so they can be updated more easily.

      Attachments

        Issue Links

          Activity

            People

              paf0186 Patrick Farrell
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: