Whamcloud - gitweb
LU-2675 obd: decruft md_enqueue() and md_intent_lock()
[fs/lustre-release.git] / lustre / include / obd.h
index eee94a3..b161c11 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>
@@ -426,14 +429,15 @@ struct lov_obd {
                                                           array */
        struct mutex            lov_lock;
        struct obd_connect_data lov_ocd;
+       struct proc_dir_entry  *targets_proc_entry;
        atomic_t                lov_refcount;
        __u32                   lov_death_row;  /* tgts scheduled to be deleted */
        __u32                   lov_tgt_size;   /* size of tgts array */
        int                     lov_connects;
        int                     lov_pool_count;
        cfs_hash_t             *lov_pools_hash_body; /* used for key access */
-       cfs_list_t              lov_pool_list;  /* used for sequential access */
-       cfs_proc_dir_entry_t   *lov_pool_proc_entry;
+       struct list_head        lov_pool_list;  /* used for sequential access */
+       struct proc_dir_entry  *lov_pool_proc_entry;
        enum lustre_sec_part    lov_sp_me;
 
        /* Cached LRU and unstable data from upper layer */
@@ -467,6 +471,7 @@ struct lmv_obd {
        struct lmv_desc         desc;
        struct obd_uuid         cluuid;
        struct obd_export       *exp;
+       struct proc_dir_entry   *targets_proc_entry;
 
        struct mutex            init_mutex;
        int                     connected;
@@ -955,6 +960,7 @@ struct md_op_data {
         __u32                   op_fsgid;
         cfs_cap_t               op_cap;
         void                   *op_data;
+       size_t                  op_data_size;
 
         /* iattr fields and blocks. */
         struct iattr            op_attr;
@@ -1058,9 +1064,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
@@ -1200,15 +1206,15 @@ struct md_ops {
                        __u64, struct ptlrpc_request **);
 
        int (*m_enqueue)(struct obd_export *, struct ldlm_enqueue_info *,
+                        const union ldlm_policy_data *,
                         struct lookup_intent *, struct md_op_data *,
-                        struct lustre_handle *, void *, int,
-                        struct ptlrpc_request **, __u64);
+                        struct lustre_handle *, __u64);
 
        int (*m_getattr)(struct obd_export *, struct md_op_data *,
                         struct ptlrpc_request **);
 
        int (*m_intent_lock)(struct obd_export *, struct md_op_data *,
-                            void *, int, struct lookup_intent *, int,
+                            struct lookup_intent *,
                             struct ptlrpc_request **,
                             ldlm_blocking_callback, __u64);