Whamcloud - gitweb
LU-4961 lustre: remove liblustre.h and obd.h from userspace
[fs/lustre-release.git] / lustre / include / obd.h
index d262f63..9967577 100644 (file)
@@ -36,6 +36,9 @@
 
 #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>
@@ -190,13 +184,15 @@ struct obd_info {
 };
 
 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;
 };
 
@@ -237,12 +233,12 @@ struct timeout_item {
         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 {
@@ -252,9 +248,6 @@ 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 {
@@ -296,9 +289,9 @@ 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
@@ -355,7 +348,7 @@ struct client_obd {
         struct mdc_rpc_lock     *cl_close_lock;
 
         /* mgc datastruct */
-       struct semaphore         cl_mgc_sem;
+       struct mutex             cl_mgc_mutex;
        struct local_oid_storage *cl_mgc_los;
        struct dt_object        *cl_mgc_configs_dir;
        atomic_t             cl_mgc_refcount;
@@ -712,7 +705,6 @@ struct obd_llog_group {
 
 /* 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;
@@ -834,7 +826,6 @@ struct obd_device {
 
        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;
@@ -1070,9 +1061,9 @@ struct obd_ops {
                          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