-#ifndef _OBD_ECHO_H
-#define _OBD_ECHO_H
-/*
+/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
+ * vim:expandtab:shiftwidth=8:tabstop=8:
+ *
* Copyright (C) 2001 Cluster File Systems, Inc.
*
* This code is issued under the GNU General Public License.
* See the file COPYING in this distribution
*/
+#ifndef _OBD_ECHO_H
+#define _OBD_ECHO_H
-#ifndef OBD_ECHO_DEVICENAME
#define OBD_ECHO_DEVICENAME "obdecho"
-#endif
+#define OBD_ECHO_CLIENT_DEVICENAME "echo_client"
-struct echo_obd {
- char *eo_fstype;
- struct super_block *eo_sb;
- struct vfsmount *eo_vfsmnt;
- struct run_ctxt eo_ctxt;
- spinlock_t eo_lock;
- __u64 eo_lastino;
- struct file_operations *eo_fop;
- struct inode_operations *eo_iop;
- struct address_space_operations *eo_aops;
-};
+/* The persistent object (i.e. actually stores stuff!) */
+#define ECHO_PERSISTENT_OBJID 1ULL
+#define ECHO_PERSISTENT_SIZE ((__u64)(1<<20))
+/* block size to use for data verification */
+#define OBD_ECHO_BLOCK_SIZE (4<<10)
-extern struct obd_ops echo_obd_ops;
+struct ec_object {
+ struct list_head eco_obj_chain;
+ struct obd_device *eco_device;
+ int eco_refcount;
+ int eco_deleted;
+ obd_id eco_id;
+ struct lov_stripe_md *eco_lsm;
+};
-#endif
+struct ec_lock {
+ struct list_head ecl_exp_chain;
+ struct ec_object *ecl_object;
+ __u64 ecl_cookie;
+ struct lustre_handle ecl_lock_handle;
+ ldlm_policy_data_t ecl_policy;
+ __u32 ecl_mode;
+};
+#endif