Whamcloud - gitweb
Add LOV export handle to reference open handles.
authoradilger <adilger>
Tue, 1 Oct 2002 05:39:13 +0000 (05:39 +0000)
committeradilger <adilger>
Tue, 1 Oct 2002 05:39:13 +0000 (05:39 +0000)
Make a union out of MDS/LOV/obdfilter export data, not sure if LDLM data
can share the same export of not.

lustre/include/linux/lustre_export.h

index b1be23d..38551ac 100644 (file)
 
 #include <linux/lustre_idl.h>
 #include <linux/lustre_dlm.h>
 
 #include <linux/lustre_idl.h>
 #include <linux/lustre_dlm.h>
+#include <linux/obd_filter.h>
+
+struct lov_export_data {
+        struct list_head led_open_head;
+};
 
 struct obd_export {
         __u64                     exp_cookie;
 
 struct obd_export {
         __u64                     exp_cookie;
@@ -22,17 +27,22 @@ struct obd_export {
         struct list_head          exp_conn_chain;
         struct obd_device        *exp_obd;
         struct ptlrpc_connection *exp_connection;
         struct list_head          exp_conn_chain;
         struct obd_device        *exp_obd;
         struct ptlrpc_connection *exp_connection;
-        struct mds_export_data    exp_mds_data;
-        struct ldlm_export_data   exp_ldlm_data;
-#if NOTYET && 0
-        struct ost_export_data    exp_ost_data;
-#endif
+        struct ldlm_export_data   exp_ldlm_data;  /* can this go inside u? */
+        union {
+                struct mds_export_data    eu_mds_data;
+                struct filter_export_data eu_filter_data;
+                struct lov_export_data    eu_lov_data;
+        } u;
         void                     *exp_data; /* device specific data */
         int                       exp_desclen;
         char                     *exp_desc;
         obd_uuid_t                exp_uuid;
 };
 
         void                     *exp_data; /* device specific data */
         int                       exp_desclen;
         char                     *exp_desc;
         obd_uuid_t                exp_uuid;
 };
 
+#define exp_mds_data    u.eu_mds_data
+#define exp_lov_data    u.eu_lov_data
+#define exp_filter_data u.eu_filter_data
+
 extern struct obd_export *class_conn2export(struct lustre_handle *conn);
 extern struct obd_device *class_conn2obd(struct lustre_handle *conn);
 #endif /* __KERNEL__ */
 extern struct obd_export *class_conn2export(struct lustre_handle *conn);
 extern struct obd_device *class_conn2obd(struct lustre_handle *conn);
 #endif /* __KERNEL__ */