mdd->mdd_txn_cb.dtc_txn_stop = mdd_txn_stop_cb;
mdd->mdd_txn_cb.dtc_txn_commit = mdd_txn_commit_cb;
mdd->mdd_txn_cb.dtc_cookie = mdd;
+ mdd->mdd_txn_cb.dtc_tag = LCT_MD_THREAD;
CFS_INIT_LIST_HEAD(&mdd->mdd_txn_cb.dtc_linkage);
mdd->mdd_atime_diff = MAX_ATIME_DIFF;
return 0;
}
+static dt_obj_version_t dot_lustre_version_get(const struct lu_env *env,
+ struct md_object *obj)
+{
+ return 0;
+}
+
+static void dot_lustre_version_set(const struct lu_env *env,
+ struct md_object *obj,
+ dt_obj_version_t version)
+{
+ return;
+}
+
+
static struct md_object_operations mdd_dot_lustre_obj_ops = {
.moo_attr_get = dot_lustre_attr_get,
.moo_attr_set = dot_lustre_attr_set,
.moo_open = dot_lustre_mdd_open,
.moo_close = dot_lustre_close,
.moo_readpage = mdd_readpage,
+ .moo_version_get = dot_lustre_version_get,
+ .moo_version_set = dot_lustre_version_set,
.moo_path = dot_lustre_path
};
/** mdd_iocontrol
* May be called remotely from mdt_iocontrol_handle or locally from
- * mdt_iocontrol. Data may be freeform - remote handling doesn't enforce or
- * swab an obd_ioctl_data format (but local ioctl handler does).
+ * mdt_iocontrol. Data may be freeform - remote handling doesn't enforce
+ * an obd_ioctl_data format (but local ioctl handler does).
* \param cmd - ioc
* \param len - data len
* \param karg - ioctl data, in kernel space
/* Doesn't use obd_ioctl_data */
if (cmd == OBD_IOC_CHANGELOG_CLEAR) {
struct changelog_setinfo *cs = karg;
- if (len != sizeof(*cs)) {
- CERROR("Bad changelog_clear ioctl size %d\n", len);
- RETURN(-EINVAL);
- }
rc = mdd_changelog_user_purge(mdd, cs->cs_id, cs->cs_recno);
RETURN(rc);
}