Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      This is a ticket to capture a few thoughts and a patch which implements a small part of what's required here, because it was on my mind.  This will come after hybrid IO and is not to be done soon, but there should still be a place to track it.

      Notes:

      So for unaligned writes, it can be async.

      1. Basically, this will act like AIO.  You'll have to do the cleanup after the fact.
      So it will change the reference counting for these.
      2. You'll need to use dlmlocks - otherwise the async IO isn't safe.
      This will have to be integrated carefully with hybrid - depending on when the choice is made, etc.
      3. You'll need to do the locking - both the range lock and the dlmlocks will need to be held and destroyed only when the last IO cleans up.
      Range locks are required to protect against write re-ordering from this client.  This is an issue with AIO but AIO gets special rules.

      So to summarize:

      • Only applies to switched hybrid IO, since it violates the sync expectation from DIO
      • Need to record dlmlocks
      • Need range lock
      • Need to change reference counting so it works like AIO (have to sort out precisely what that means)
      • Need to clean up dlmlocks and range lock as IO completes
      • Probably makes sense to associate dlmlocks with sub DIO - each SDIO will use a single dlmlock and we can have it release the dlmlock when it's complete
      • Range lock will be released by the top level DIO

      Attachments

        Issue Links

          Activity

            [LU-17433] async hybrid writes
            paf0186 Patrick Farrell added a comment - See also https://review.whamcloud.com/c/fs/lustre-release/+/50621 for an early attempt

            "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54202
            Subject: LU-17433 llite: implement async hybrid writes
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 5c9f621f25e9657249eceda1a56bfaaa916646e6

            gerrit Gerrit Updater added a comment - "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54202 Subject: LU-17433 llite: implement async hybrid writes Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 5c9f621f25e9657249eceda1a56bfaaa916646e6

            "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54201
            Subject: LU-17433 llite: make hybrid writes locked
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: f7a2f8549045a09a5f0e7b93f7d0b3e43d0dee56

            gerrit Gerrit Updater added a comment - "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54201 Subject: LU-17433 llite: make hybrid writes locked Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: f7a2f8549045a09a5f0e7b93f7d0b3e43d0dee56

            "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54200
            Subject: LU-17433 osc: add dlmlock handling to DIO
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: f1c46019ca5c0d7dd9097355cc475b9cf8686649

            gerrit Gerrit Updater added a comment - "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54200 Subject: LU-17433 osc: add dlmlock handling to DIO Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: f1c46019ca5c0d7dd9097355cc475b9cf8686649

            "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54196
            Subject: LU-17433 osc: simplify osc_lock_set
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 2ee32a471d1784f0e671767a0f2594d483ed79e7

            gerrit Gerrit Updater added a comment - "Patrick Farrell (883)" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54196 Subject: LU-17433 osc: simplify osc_lock_set Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 2ee32a471d1784f0e671767a0f2594d483ed79e7

            "Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53689
            Subject: LU-17433 clio: add and put ref on dlmlock for sdio
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: ef0bc8267cad26626339687d2c57831e3da75ddc

            gerrit Gerrit Updater added a comment - "Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53689 Subject: LU-17433 clio: add and put ref on dlmlock for sdio Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: ef0bc8267cad26626339687d2c57831e3da75ddc

            "Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53688
            Subject: LU-17433 llite: move dio range locking to DIO
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 6a3e2292ded7838a2b3dd7db8878eb6a78d7960d

            gerrit Gerrit Updater added a comment - "Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53688 Subject: LU-17433 llite: move dio range locking to DIO Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 6a3e2292ded7838a2b3dd7db8878eb6a78d7960d

            People

              paf0186 Patrick Farrell
              paf0186 Patrick Farrell
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: