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

'lfs mirror extend' should succeed with stale mirror on open-for-write files

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • Lustre 2.14.0, Lustre 2.16.0
    • 3
    • 9223372036854775807

    Description

      Rather than completely failing the "lfs mirror extend" command when the MDS finds the mirror version to be different, it would be better for the MDS to allow the layout add to complete, but mark the new mirror LCME_FL_STALE immediately.

      This would allow adding redundancy to files that are continually being written. With "--block" we shouldn't need this, but it isn't always nice to the application to block IO for 100s while a large file is being completely mirrored.

      This also potentially allows future optimizing the resync of the stale mirror instead of having to create it again. For example, if the mirror is extended incrementally by component and the stale flag is only added to mirror components that were actually modified during this operation then it would mean less work to resync later.

      This should add an option to "lfs mirror extend" to enable/disable this behavior, maybe "--allow-stale" and "--deny-stale"?

      I think the default should be to enable this new behavior, but it should be possible to disable it on the MDS if it is causing problems. I think the affected logic will be in the LOD layer, so a parameter like "lod.*.enable_mirror_extend_stale" or similar should be added.

      Attachments

        Issue Links

          Activity

            People

              wc-triage WC Triage
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: