LU-7542 obdclass: quiet lockdep recursive lock warning
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.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ic36e64608d12dcd4f5b12056e3e2072ca6500c1e
Reviewed-on: http://review.whamcloud.com/17582
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>