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

do not hold object's lock over read bulk

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0, Lustre 2.15.2
    • None
    • None
    • 9223372036854775807

    Description

      as a stuck bulk can block OUT's (e.g. out_tx_xattr_set_exec taking an exclusive object's lock), then all shared object's locks are blocked and finally all transactions are blocked:

      Call Trace:
      [<0>] call_rwsem_down_write_failed+0x17/0x30
      [<0>] osd_write_lock+0x5c/0xe0 [osd_ldiskfs]
      [<0>] out_tx_xattr_set_exec+0xdb/0x840 [ptlrpc]
      [<0>] out_tx_end+0xe1/0x5c0 [ptlrpc]
      [<0>] out_handle+0x1452/0x1bc0 [ptlrpc]
      [<0>] tgt_request_handle+0xaee/0x15f0 [ptlrpc]
      [<0>] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc]
      
      Call Trace:
      [<0>] wait_transaction_locked+0x85/0xd0 [jbd2]
      [<0>] add_transaction_credits+0x278/0x310 [jbd2]
      [<0>] start_this_handle+0x1a1/0x430 [jbd2]
      [<0>] jbd2__journal_start+0xf3/0x1f0 [jbd2]
      [<0>] __ldiskfs_journal_start_sb+0x69/0xe0 [ldiskfs]
      [<0>] osd_trans_start+0x20e/0x4e0 [osd_ldiskfs]
      [<0>] ofd_commitrw_write+0x11dc/0x1da0 [ofd]
      [<0>] ofd_commitrw+0x53f/0xf70 [ofd]
      [<0>] tgt_brw_write+0xffb/0x1dc0 [ptlrpc]
      [<0>] tgt_request_handle+0xaee/0x15f0 [ptlrpc]
      [<0>] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc]
      

      Attachments

        Activity

          People

            bzzz Alex Zhuravlev
            bzzz Alex Zhuravlev
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: