From f4313edcb837429ccc7f501158514560d602ee85 Mon Sep 17 00:00:00 2001 From: wang di Date: Sat, 13 Jun 2015 09:14:12 -0700 Subject: [PATCH] LU-6717 llog: Create update llog synchronously Create remote update llog object synchronously, so it will make sure the llog object exists, before the cross-MDT operations will write any update llog records. Signed-off-by: wang di Change-Id: I690e94e68b8b64dfe94412f58448f3867f61ff3e Reviewed-on: http://review.whamcloud.com/15278 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Alex Zhuravlev Reviewed-by: Lai Siyao Reviewed-by: Oleg Drokin --- lustre/obdclass/llog.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lustre/obdclass/llog.c b/lustre/obdclass/llog.c index 707fde9..df98cc9 100644 --- a/lustre/obdclass/llog.c +++ b/lustre/obdclass/llog.c @@ -800,6 +800,13 @@ int llog_open_create(const struct lu_env *env, struct llog_ctxt *ctxt, if (IS_ERR(th)) GOTO(out, rc = PTR_ERR(th)); + /* Create the remote update llog object synchronously, which + * happens during inialization process see lod_sub_prep_llog(), + * to make sure the update llog object is created before + * corss-MDT writing updates into the llog object */ + if (dt_object_remote((*res)->lgh_obj)) + th->th_sync = 1; + th->th_wait_submit = 1; rc = llog_declare_create(env, *res, th); if (rc == 0) { -- 1.8.3.1