Whamcloud - gitweb
LU-16629 osd: refill the existing env
authorHongchao Zhang <hongchao@whamcloud.com>
Mon, 6 Mar 2023 13:17:10 +0000 (08:17 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Tue, 21 Mar 2023 20:59:25 +0000 (20:59 +0000)
During the LDLM lock callback, the "lu_env" is created in
ldlm_bl_thread_main, which is initiated by "ldlm_setup",
and it could have no key of "osd_thread_info" yet, then it
need to call "lu_env_refill" to refill the keys.

Lustre-change: https://review.whamcloud.com/50270
Lustre-commit: TBD (from c9673c45a9c279b12ccb8804d54508905a1e79ee)

Change-Id: Ibae978a5a10826c2e3186012911870ce7bf0b147
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/50273
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/mdt/mdt_io.c

index 1ffa1e6..6c699ba 100644 (file)
@@ -1720,6 +1720,9 @@ int ldlm_dom_discard_cp_ast(struct ldlm_lock *lock, __u64 flags, void *data)
 
        env = lu_env_find();
        LASSERT(env);
+
+       lu_env_refill(env);
+
        mdt_object_put(env, mo);
 
        RETURN(0);