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

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

XMLWordPrintable

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

      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.

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

              Created:
              Updated: