#ifndef __OBD_H
#define __OBD_H
+#ifndef __KERNEL__
+# error "userspace should not include <obd.h>"
+#endif
#if defined(__linux__)
#include <linux/obd.h>
#error Unsupported operating system.
#endif
-#define IOC_OSC_TYPE 'h'
-#define IOC_OSC_MIN_NR 20
-#define IOC_OSC_SET_ACTIVE _IOWR(IOC_OSC_TYPE, 21, struct obd_device *)
-#define IOC_OSC_MAX_NR 50
-
-#define IOC_MDC_TYPE 'i'
-#define IOC_MDC_MIN_NR 20
-#define IOC_MDC_MAX_NR 50
-
#include <lustre/lustre_idl.h>
#include <lustre_lib.h>
#include <libcfs/bitmap.h>
};
struct obd_type {
- cfs_list_t typ_chain;
- struct obd_ops *typ_dt_ops;
- struct md_ops *typ_md_ops;
- cfs_proc_dir_entry_t *typ_procroot;
- char *typ_name;
- int typ_refcnt;
- struct lu_device_type *typ_lu;
+ struct list_head typ_chain;
+ struct obd_ops *typ_dt_ops;
+ struct md_ops *typ_md_ops;
+ struct proc_dir_entry *typ_procroot;
+ struct proc_dir_entry *typ_procsym;
+ __u32 typ_sym_filter;
+ char *typ_name;
+ int typ_refcnt;
+ struct lu_device_type *typ_lu;
spinlock_t obd_type_lock;
};
cfs_list_t ti_chain;
};
-#define OSC_MAX_RIF_DEFAULT 8
-#define MDS_OSC_MAX_RIF_DEFAULT 50
-#define OSC_MAX_RIF_MAX 256
-#define OSC_MAX_DIRTY_DEFAULT (OSC_MAX_RIF_DEFAULT * 4)
-#define OSC_MAX_DIRTY_MB_MAX 2048 /* arbitrary, but < MAX_LONG bytes */
-#define OSC_DEFAULT_RESENDS 10
+#define OBD_MAX_RIF_DEFAULT 8
+#define OBD_MAX_RIF_MAX 512
+#define OSC_MAX_RIF_MAX 256
+#define OSC_MAX_DIRTY_DEFAULT (OBD_MAX_RIF_DEFAULT * 4)
+#define OSC_MAX_DIRTY_MB_MAX 2048 /* arbitrary, but < MAX_LONG bytes */
+#define OSC_DEFAULT_RESENDS 10
/* possible values for fo_sync_lock_cancel */
enum {
NUM_SYNC_ON_CANCEL_STATES
};
-#define MDC_MAX_RIF_DEFAULT 8
-#define MDC_MAX_RIF_MAX 512
-
struct mdc_rpc_lock;
struct obd_import;
struct client_obd {
int cl_chunk;
int cl_extent_tax; /* extent overhead, by bytes */
- /* keep track of objects that have lois that contain pages which
- * have been queued for async brw. this lock also protects the
- * lists of osc_client_pages that hang off of the loi */
+ /* keep track of objects that have lois that contain pages which
+ * have been queued for async brw. this lock also protects the
+ * lists of osc_client_pages that hang off of the loi */
/*
* ->cl_loi_list_lock protects consistency of
* ->cl_loi_{ready,read,write}_list. ->ap_make_ready() and
/* corresponds to one of the obd's */
#define OBD_DEVICE_MAGIC 0XAB5CD6EF
-#define OBD_DEV_BY_DEVNAME 0xffffd0de
struct obd_device {
struct obd_type *obd_type;
struct proc_dir_entry *obd_proc_entry;
struct proc_dir_entry *obd_proc_exports_entry;
- void *obd_proc_private; /* type private PDEs */
struct proc_dir_entry *obd_svc_procroot;
struct lprocfs_stats *obd_svc_stats;
struct lprocfs_seq_vars *obd_vars;
struct obd_export *exp, enum lu_cli_type type);
int (*o_fid_fini)(struct obd_device *obd);
- /* Allocate new fid according to passed @hint. */
- int (*o_fid_alloc)(struct obd_export *exp, struct lu_fid *fid,
- struct md_op_data *op_data);
+ /* Allocate new fid according to passed @hint. */
+ int (*o_fid_alloc)(const struct lu_env *env, struct obd_export *exp,
+ struct lu_fid *fid, struct md_op_data *op_data);
/*
* Object with @fid is getting deleted, we may want to do something