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

DoM discard callback can lead to recursion and stack corruption

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.17.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      the mdt_dom_discard_data() has two problems to resolve:

      1. no protection from multiple calls for the same object. That causes many discard locks to be taken waiting each other, while only one is needed
      2. mdt_dom_discard_cb() may cause another call to cancel callback in the same thread, entering into recursion. With many waiting locks (see #1) that causes stack overflow

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: