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

Remove triple buffer update from llog_osd_write_blob()

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Duplicate
    • Blocker
    • None
    • Lustre 2.6.0
    • None
    • 13537

    Description

      The llog_osd_write_blob() have two ways to update llog record, the first one is just normal record write with header, buffer and tail at once, the second is actually three separate writes for header, buffer and tail. The latest produces number of troubles because one of three writes may fail causing partially written buffer and corrupted llog. There is special undo procedure to clean things up after that. All of these demands twice more credits for normal operations and for undo case which is critical in case of wide striping.

      Meanwhile this particular triple write case is used only by MGS and can be avoided by preparing correct llog record before calling llog_write(). That would require additional memory allocations to prepare write buffer.

      Attachments

        Issue Links

          Activity

            People

              tappro Mikhail Pershin
              tappro Mikhail Pershin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: