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

Unprotected critical section in nrs_policy_stop

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • Lustre 2.8.0
    • 3
    • 9223372036854775807

    Description

      The execution flow to stopping a NRS policy is not safe, and concurrent execution of a policy' stop function can happen, leading to instant crashes.

      For instance:
      lctl set_param ost.OSS.ost_io.nrs_policies=orr
      lctl set_param ost.OSS.ost_io.nrs_policies=fifo & sleep 0.1 && \
      lctl set_param ost.OSS.ost_io.nrs_orr_quantum=32

      leads to a crash in:
      [...]
      #6 [ffff880098c99cc0] kmem_cache_destroy at ffffffff811772bc
      #7 [ffff880098c99ce0] nrs_orr_stop at ffffffffa139d8a8 [ptlrpc]
      #8 [ffff880098c99d00] nrs_policy_stop0 at ffffffffa13933cf [ptlrpc]
      #9 [ffff880098c99d20] nrs_policy_stop_primary at ffffffffa1393938 [ptlrpc]
      #10 [ffff880098c99d40] nrs_policy_start_locked at ffffffffa13940e0 [ptlrpc]
      #11 [ffff880098c99d90] nrs_policy_ctl at ffffffffa139452c [ptlrpc]
      #12 [ffff880098c99de0] ptlrpc_nrs_policy_control at ffffffffa1396092 [ptlrpc]
      [...]

      Attachments

        Issue Links

          Activity

            People

              emoly.liu Emoly Liu
              hdoreau Henri Doreau (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: