+
+ int (*mdo_llog_ctxt_get)(const struct lu_env *env,
+ struct md_device *m, int idx, void **h);
+
+ int (*mdo_iocontrol)(const struct lu_env *env, struct md_device *m,
+ unsigned int cmd, int len, void *data);
+
+#ifdef HAVE_QUOTA_SUPPORT
+ struct md_quota_operations {
+ int (*mqo_notify)(const struct lu_env *env,
+ struct md_device *m);
+
+ int (*mqo_setup)(const struct lu_env *env,
+ struct md_device *m,
+ void *data);
+
+ int (*mqo_cleanup)(const struct lu_env *env,
+ struct md_device *m);
+
+ int (*mqo_recovery)(const struct lu_env *env,
+ struct md_device *m);
+
+ int (*mqo_check)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type);
+
+ int (*mqo_on)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type);
+
+ int (*mqo_off)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type);
+
+ int (*mqo_setinfo)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type,
+ __u32 id,
+ struct obd_dqinfo *dqinfo);
+
+ int (*mqo_getinfo)(const struct lu_env *env,
+ const struct md_device *m,
+ __u32 type,
+ __u32 id,
+ struct obd_dqinfo *dqinfo);
+
+ int (*mqo_setquota)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type,
+ __u32 id,
+ struct obd_dqblk *dqblk);
+
+ int (*mqo_getquota)(const struct lu_env *env,
+ const struct md_device *m,
+ __u32 type,
+ __u32 id,
+ struct obd_dqblk *dqblk);
+
+ int (*mqo_getoinfo)(const struct lu_env *env,
+ const struct md_device *m,
+ __u32 type,
+ __u32 id,
+ struct obd_dqinfo *dqinfo);
+
+ int (*mqo_getoquota)(const struct lu_env *env,
+ const struct md_device *m,
+ __u32 type,
+ __u32 id,
+ struct obd_dqblk *dqblk);
+
+ int (*mqo_invalidate)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type);
+
+ int (*mqo_finvalidate)(const struct lu_env *env,
+ struct md_device *m,
+ __u32 type);
+ } mdo_quota;
+#endif