Whamcloud - gitweb
LU-9266 hsm: don't add request when cdt is stopped 41/28441/2
authorSergey Cheremencev <sergey.cheremencev@seagate.com>
Mon, 20 Mar 2017 14:20:40 +0000 (22:20 +0800)
committerJohn L. Hammond <john.hammond@intel.com>
Wed, 16 Aug 2017 20:43:10 +0000 (20:43 +0000)
commitd488337c04b52392e11a784617d902e1f12c7cba
tree55bbfa71c1300b138b1a7a6e96db84899678dac4
parent86421e70c1583f5691e516b7c216efdd9b241e99
LU-9266 hsm: don't add request when cdt is stopped

Check cdt_state after getting layout lock in mdt_hsm_add_actions.
Fix protects against several RESTORE records addressed to the
same object in llog. Such records causes mount to hung when
starting hsm:
D: 15524  TASK: ffff880068b5b540  CPU: 4   COMMAND: "lctl"
 #0 [ffff8800bacd9728] schedule at ffffffff81525d30
 #1 [ffff8800bacd97f0] ldlm_completion_ast at ffffffffa08527f5 [ptlrpc]
 #2 [ffff8800bacd9890] ldlm_cli_enqueue_local at ffffffffa0851b8e
[ptlrpc]
 #3 [ffff8800bacd9910] mdt_object_lock0 at ffffffffa0e4ec4c [mdt]
 #4 [ffff8800bacd99c0] mdt_object_lock at ffffffffa0e4f694 [mdt]
 #5 [ffff8800bacd99d0] mdt_object_find_lock at ffffffffa0e4f9c1 [mdt]
 #6 [ffff8800bacd9a00] hsm_restore_cb at ffffffffa0e9b533 [mdt]
 #7 [ffff8800bacd9a50] llog_process_thread at ffffffffa05fd699
[obdclass]
 #8 [ffff8800bacd9b10] llog_process_or_fork at ffffffffa05fdbaf
[obdclass]
 #9 [ffff8800bacd9b60] llog_cat_process_cb at ffffffffa0601250
[obdclass]

Lustre-change: https://review.whamcloud.com/26215
Lustre-commit: 37a5157b84bce367e31743cb8648a15618492531

Change-Id: Ib09139795d847cac2e5f079a192a3548d32db09c
Seagate-bug-id: MRP-4251
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: https://review.whamcloud.com/28441
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
lustre/include/obd_support.h
lustre/mdt/mdt_hsm_cdt_client.c
lustre/tests/sanity-hsm.sh