Whamcloud - gitweb
LU-16629 osd: refill the existing env 70/50270/2
authorHongchao Zhang <hongchao@whamcloud.com>
Mon, 6 Mar 2023 13:17:10 +0000 (08:17 -0500)
committerOleg Drokin <green@whamcloud.com>
Tue, 28 Mar 2023 22:08:57 +0000 (22:08 +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.

Change-Id: Ibae978a5a10826c2e3186012911870ce7bf0b147
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50270
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mdt/mdt_io.c

index fa72341..3e86539 100644 (file)
@@ -1938,6 +1938,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);