mdd->mdd_cl.mc_index = 0;
cfs_spin_lock_init(&mdd->mdd_cl.mc_lock);
- cfs_waitq_init(&mdd->mdd_cl.mc_waitq);
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;
struct llog_ctxt *ctxt;
int rc;
- if ((mdd->mdd_cl.mc_mask & (1 << rec->cr.cr_type)) == 0)
- return 0;
-
rec->cr_hdr.lrh_len = llog_data_len(sizeof(*rec) + rec->cr.cr_namelen);
/* llog_lvfs_write_rec sets the llog tail len */
rec->cr_hdr.lrh_type = CHANGELOG_REC;
rc = llog_add(ctxt, &rec->cr_hdr, NULL, NULL, 0);
llog_ctxt_put(ctxt);
- cfs_waitq_signal(&mdd->mdd_cl.mc_waitq);
-
return rc;
}
/* Status and action flags */
rec->cr.cr_markerflags = mdd->mdd_cl.mc_flags | markerflags;
- rc = mdd_changelog_llog_write(mdd, rec, NULL);
+ rc = (mdd->mdd_cl.mc_mask & (1 << CL_MARK)) ?
+ mdd_changelog_llog_write(mdd, rec, NULL) : 0;
/* assume on or off event; reset repeat-access time */
mdd->mdd_cl.mc_starttime = cfs_time_current_64();
return -ENOSYS;
}
+static int dot_file_lock(const struct lu_env *env, struct md_object *obj,
+ struct lov_mds_md *lmm, struct ldlm_extent *extent,
+ struct lustre_handle *lockh)
+{
+ return -ENOSYS;
+}
+
+static int dot_file_unlock(const struct lu_env *env, struct md_object *obj,
+ struct lov_mds_md *lmm, struct lustre_handle *lockh)
+{
+ return -ENOSYS;
+}
static struct md_object_operations mdd_dot_lustre_obj_ops = {
.moo_permission = dot_lustre_mdd_permission,
.moo_version_get = dot_lustre_mdd_version_get,
.moo_version_set = dot_lustre_mdd_version_set,
.moo_path = dot_lustre_mdd_path,
+ .moo_file_lock = dot_file_lock,
+ .moo_file_unlock = dot_file_unlock,
};