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

Directory level Changelog

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • None
    • 3
    • 9223372036854775807

      A filesystem-wide Flashback is powerful but often too coarse: operators want to rewind a project directory, a user home tree, or a dataset prefix without forcing a global metadata rollback. CephFS demonstrates that directory-scoped snapshots can be practical and natural: snapshots are created in any chosen directory and cover all data beneath that directory. This design borrows the directory-subtree scope and the realm abstraction, not the CephFS on-disk or RADOS snapshot implementation. In Lustre, a directory-level flashback snapshot is implemented as a directory-level changelog realm plus optional per-file mirror snapshots beneath that directory.

      The Directory-Level Changelog Realm Module adapts CephFS SnapRealm ideas to Lustre’s changelog world. A realm is a directory scope, not a CephFS-style capability realm. Each realm records its root FID, a creation SCN, an optional expiration SCN, a directory bloom or prefix filter, and a reference to per-MDT changelog ranges. Realms are hierarchical: a subdirectory snapshot implicitly covers its descendants, while a parent realm’s restore point may be used to recover ancestors unless overridden by a closer realm.

       

      The realm is inspired by CephFS SnapRealm in that it associates a directory subtree with a snapshot’s effective metadata range. It diverges because Lustre does not have CephFS’s MDS capability model or RADOS object-level snapids. Instead, the realm indexes changelog ranges via the start/end SCN and, optionally, file mirror snapshot associations. This keeps the directory snapshot mechanism within Lustre’s MDT transaction and changelog machinery.

            qian_wc Qian Yingjin
            qian_wc Qian Yingjin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: