Whamcloud - gitweb
LU-13055 mdd: per-user changelog names and mask
[fs/lustre-release.git] / lustre / mdd / mdd_object.c
index 3689a90..c56392e 100644 (file)
@@ -1088,7 +1088,7 @@ static int mdd_attr_set_changelog(const struct lu_env *env,
        bits |= (valid & LA_MTIME) ? BIT(CL_MTIME) : 0;
        bits |= (valid & LA_CTIME) ? BIT(CL_CTIME) : 0;
        bits |= (valid & LA_ATIME) ? BIT(CL_ATIME) : 0;
-       bits = bits & mdd->mdd_cl.mc_mask;
+       bits = bits & mdd->mdd_cl.mc_current_mask;
        /* This is an implementation limit rather than a protocol limit */
        BUILD_BUG_ON(CL_LAST > sizeof(int) * 8);
        if (bits == 0)
@@ -3260,7 +3260,7 @@ static int mdd_open(const struct lu_env *env, struct md_object *obj,
 
        rc = mdd_open_sanity_check(env, mdd_obj, attr, open_flags,
                                   spec->no_create);
-       if ((rc == -EACCES) && (mdd->mdd_cl.mc_mask & BIT(CL_DN_OPEN)))
+       if ((rc == -EACCES) && (mdd->mdd_cl.mc_current_mask & BIT(CL_DN_OPEN)))
                type = CL_DN_OPEN;
        else if (rc != 0)
                GOTO(out, rc);
@@ -3498,10 +3498,11 @@ out:
         * this is not a big deal if we have a CL_CLOSE entry with no matching
         * CL_OPEN. Plus Changelogs mask may not change often.
         */
-       if (((!(mdd->mdd_cl.mc_mask & BIT(CL_OPEN)) &&
+       if (((!(mdd->mdd_cl.mc_current_mask & BIT(CL_OPEN)) &&
              (open_flags & (MDS_FMODE_WRITE | MDS_OPEN_APPEND |
                             MDS_OPEN_TRUNC))) ||
-            ((mdd->mdd_cl.mc_mask & BIT(CL_OPEN)) && last_close_by_uid)) &&
+            ((mdd->mdd_cl.mc_current_mask & BIT(CL_OPEN)) &&
+             last_close_by_uid)) &&
            !(ma->ma_valid & MA_FLAGS && ma->ma_attr_flags & MDS_RECOV_OPEN)) {
                if (handle == NULL) {
                        handle = mdd_trans_create(env, mdo2mdd(obj));