Whamcloud - gitweb
LU-243 async lov_sync() operation
[fs/lustre-release.git] / lustre / include / obd.h
index 3b73a4b..e671e69 100644 (file)
@@ -904,7 +904,10 @@ enum obd_notify_event {
         /* Configuration event */
         OBD_NOTIFY_CONFIG,
         /* Trigger quota recovery */
-        OBD_NOTIFY_QUOTA
+        OBD_NOTIFY_QUOTA,
+        /* Administratively deactivate/activate event */
+        OBD_NOTIFY_DEACTIVATE,
+        OBD_NOTIFY_ACTIVATE
 };
 
 /* bit-mask flags for config events */
@@ -983,13 +986,19 @@ struct obd_device {
         struct obd_type        *obd_type;
         __u32                   obd_magic;
 
+        int                     obd_minor;
+        cfs_hlist_node_t        obd_minor_node; /** < find by minor */
+
+        cfs_list_t              obd_list;
         /* common and UUID name of this device */
         char                    obd_name[MAX_OBD_NAME];
+        cfs_hlist_node_t        obd_name_node; /** < find by name */
+
         struct obd_uuid         obd_uuid;
+        cfs_hlist_node_t        obd_uuid_node; /** < find by uuid */
 
         struct lu_device       *obd_lu_dev;
 
-        int                     obd_minor;
         /* bitfield modification is protected by obd_dev_lock */
         unsigned long obd_attached:1,      /* finished attach */
                       obd_set_up:1,        /* finished setup */
@@ -1335,9 +1344,9 @@ struct obd_ops {
         int (*o_punch)(struct obd_export *exp, struct obd_info *oinfo,
                        struct obd_trans_info *oti,
                        struct ptlrpc_request_set *rqset);
-        int (*o_sync)(struct obd_export *exp, struct obdo *oa,
-                      struct lov_stripe_md *ea, obd_size start, obd_size end,
-                      void *capa);
+        int (*o_sync)(struct obd_export *exp, struct obd_info *oinfo,
+                      obd_size start, obd_size end,
+                      struct ptlrpc_request_set *set);
         int (*o_migrate)(struct lustre_handle *conn, struct lov_stripe_md *dst,
                          struct lov_stripe_md *src, obd_size start,
                          obd_size end, struct obd_trans_info *oti);