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

remove jbd2-jcberr patch from kernel

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.2.0, Lustre 2.3.0
    • None
    • None
    • 21,942
    • 4673

    Description

      In the upstream ext4 code there is a new functionality to allow a per-commit callback to be set
      (j_commit_callback), which is used by the mballoc code to manage free space bitmaps after deleted
      blocks have been released. It should be fairly straight forward to allow the j_commit_callback and
      t_private_list to be multiplexed, by creating a new ext4_commit_callback() function that just walks
      a list of function+data pointers attached to t_private_list, much like the jbd2-jcberr code
      currently walks the callback list, and passes is_journal_aborted() as the callback error parameter.

      A new ext4_journal_callback_set() function, using the same API as the existing
      jbd2_journal_callback_set(), will maintain a list of function+data pointers on t_private_list, and
      the current code that manipulates t_private_list directly would now call
      ext4_journal_callback_set() with a modified release_blocks_on_commit() as the callback function
      (taking a pointer to struct ext4_delete_entry as data, and only freeing one structure at a time).

      Within the existing code, ext4_mb_free_metadata() is manually removing existing entries from the
      callback list if they can be merged. This functionality doesn't currently exist, but it shouldn't
      be hard to add an ext4_journal_callback_del() function to remove the entry from the list, if passed
      the journal_callback struct, which would now be embedded into struct ext4_delete_entry instead of
      just the list_head "list".

      Attachments

        Issue Links

          Activity

            People

              bobijam Zhenyu Xu
              bobijam Zhenyu Xu
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: