Omit changelog records for volatile files. Policy engines need not be
concerned with these files.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Id28db03e0bd6e477db8de1bab1d53688ac7720dd
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: https://review.whamcloud.com/26931
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
if (unlikely(spec->sp_cr_flags & MDS_OPEN_VOLATILE)) {
mdd_write_lock(env, son, MOR_TGT_CHILD);
+ son->mod_flags |= VOLATILE_OBJ;
rc = __mdd_orphan_add(env, son, handle);
GOTO(out_volatile, rc);
} else {
/* The dir object has been unlinked */
DEAD_OBJ = 1 << 0,
ORPHAN_OBJ = 1 << 1,
+ VOLATILE_OBJ = 1 << 4,
};
struct mdd_object {
return obj && obj->mod_flags & DEAD_OBJ;
}
+static inline bool mdd_is_volatile_obj(struct mdd_object *obj)
+{
+ return obj->mod_flags & VOLATILE_OBJ;
+}
+
static inline int mdd_object_exists(struct mdd_object *obj)
{
return lu_object_exists(mdd2lu_obj(obj));
{
int rc;
+ LASSERT(mdd_obj != NULL);
+ LASSERT(handle != NULL);
+
/* Not recording */
if (!(mdd->mdd_cl.mc_flags & CLM_ON))
RETURN(0);
if ((mdd->mdd_cl.mc_mask & (1 << type)) == 0)
RETURN(0);
- LASSERT(mdd_obj != NULL);
- LASSERT(handle != NULL);
+ if (mdd_is_volatile_obj(mdd_obj))
+ RETURN(0);
if ((type >= CL_MTIME) && (type <= CL_ATIME) &&
cfs_time_before_64(mdd->mdd_cl.mc_starttime, mdd_obj->mod_cltime)) {