From: Artem Blagodarenko Date: Thu, 28 Apr 2016 14:30:53 +0000 (+0300) Subject: LU-8040 mgc: Apply changelog defaults values in mdd_init0() X-Git-Tag: 2.8.56~134 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=36e5b7203d5f80b5ac1341a05a35c19915c05bd6;ds=sidebyside LU-8040 mgc: Apply changelog defaults values in mdd_init0() lctl set_param -P command stores options to params file. This options are applied in server_start_targets() during target mount. Changelog apply default options during initialization. So it reset options applied by "lctl set_param -P". This patch moves changelogs default value appying before params processing. So new parameters aplied after default. Signed-off-by: Artem Blagodarenko Change-Id: Ibb1a8d512844d4fcb66c051441c1864f994d4ded Reviewed-on: http://review.whamcloud.com/19854 Reviewed-by: Andreas Dilger Reviewed-by: Sebastien Buisson Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/mdd/mdd_device.c b/lustre/mdd/mdd_device.c index 93b0c91..6129e11 100644 --- a/lustre/mdd/mdd_device.c +++ b/lustre/mdd/mdd_device.c @@ -124,6 +124,10 @@ static int mdd_init0(const struct lu_env *env, struct mdd_device *mdd, const char *dev; ENTRY; + /* LU-8040 Set defaults here, before values configs */ + mdd->mdd_cl.mc_flags = 0; /* off by default */ + mdd->mdd_cl.mc_mask = CHANGELOG_DEFMASK; + dev = lustre_cfg_string(lcfg, 0); if (dev == NULL) RETURN(rc); @@ -416,8 +420,6 @@ static int mdd_changelog_init(const struct lu_env *env, struct mdd_device *mdd) mdd->mdd_cl.mc_index = 0; spin_lock_init(&mdd->mdd_cl.mc_lock); mdd->mdd_cl.mc_starttime = cfs_time_current_64(); - mdd->mdd_cl.mc_flags = 0; /* off by default */ - mdd->mdd_cl.mc_mask = CHANGELOG_DEFMASK; spin_lock_init(&mdd->mdd_cl.mc_user_lock); mdd->mdd_cl.mc_lastuser = 0; diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index ba15cbe..48252bf 100755 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -5117,6 +5117,28 @@ test_76b() { # LU-4783 } run_test 76b "verify params log setup correctly" +test_76c() { + [[ $(lustre_version_code mgs) -ge $(version_code 2.8.54) ]] || + { skip "Need MDS version at least 2.4.52" && return 0; } + setupall + local MASK_PARAM="mdd.*.changelog_mask" + echo "Change changelog_mask" + do_facet mgs $LCTL set_param -P $MASK_PARAM=-CLOSE || + error "Can't change changlog_mask" + wait_update $(facet_host mds) "$LCTL get_param -n $MASK_PARAM | + grep 'CLOSE'" "" + + echo "Check the value is stored after mds remount" + stop_mds || error "Failed to stop MDS" + start_mds || error "Failed to start MDS" + local CHANGELOG_MASK=$(do_facet mgs $LCTL get_param -n $MASK_PARAM) + echo $CHANGELOG_MASK | grep CLOSE > /dev/null && + error "changelog_mask is not changed" + + stopall +} +run_test 76c "verify changelog_mask is applied with set_param -P" + test_77() { # LU-3445 local server_version=$(lustre_version_code $SINGLEMDS)