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

possible recursive locking detected on cli->cl_sem

Details

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

    Description

      Lockdep complains about potential recursive locking during mount
      because the client configuration log is holding a lock on the MGC
      obd_device to prevent it from being torn down, while also getting
      locks on the MDC and OSC devices as they are instantiated:

       Lustre: Mounted myth-client
       =============================================
       [ INFO: possible recursive locking detected ]
       ---------------------------------------------
      
       2 locks held by ll_cfg_requeue/1460:
       #0:  (&cli->cl_sem){.+.+..}, at mgc_requeue_thread+0x27d/0x5d8 [mgc]
       #1:  (&cld->cld_lock){+.+...}, at mgc_process_log+0x88/0xc01 [mgc]
      
       CPU: 3 PID: 1460 Comm: ll_cfg_requeue
       Call Trace:
       [<ffffffff814cb360>] dump_stack+0x4f/0x6f
       [<ffffffff81081d73>] __lock_acquire+0xc06/0xc74
       [<ffffffff81081f4f>] lock_acquire+0x16e/0x194
       [<ffffffff814ce5d7>] down_read+0x4c/0x61
       [<ffffffffa029f370>] sptlrpc_conf_client_adapt+0x95/0x142 [ptlrpc]
       [<ffffffffa03a7a69>] mdc_set_info_async+0xeb/0x420 [mdc]
       [<ffffffffa01ad69e>] class_notify_sptlrpc_conf+0x2f4/0x347 [obdclass]
       [<ffffffffa04a805c>] mgc_process_log+0xa31/0xc01 [mgc]
       [<ffffffffa04a94ef>] mgc_requeue_thread+0x31f/0x5d8 [mgc]
       [<ffffffff81061f77>] kthread+0xfa/0x102
      

      Add a separate lock class for the MGC callpath, since it will always
      be held first, and none of the other obd_device locks should ever
      be held concurrently.

      Attachments

        Activity

          People

            adilger Andreas Dilger
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: