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

Potential future conflict between fsync and layout operations (e.g., restriping, mirroring)

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Medium
    • Lustre 2.18.0
    • Lustre 2.17.0
    • None
    • 3
    • 9223372036854775807

    Description

      Currently, fsync operations do not acquire layout locks because:

      1. fsync only flushes already-mapped pages to disk.
      2. The mapping from file offsets to OST objects occurs during write operations.
      3. Layout changes should only affect new writes, not existing cached data.
      4. Acquiring layout locks during fsync can cause deadlocks when fsync is called from within write operations (see EX-12989).

      However, as noted by green, this assumption may not hold in the future. When more advanced features such as smart mirroring or on-the-fly restriping (e.g., when an OST runs out of space) are introduced, fsync may need to interact with layout locks differently.
      Running fsync concurrently with layout-changing operations could lead to data consistency issues or race conditions.

      Attachments

        Issue Links

          Activity

            People

              wc-triage WC Triage
              ablagodarenko Artem Blagodarenko
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: