Whamcloud - gitweb
LU-1757 brw: add short io osc/ost transfer.
[fs/lustre-release.git] / lustre / include / lustre_osc.h
index f32f7a4..df36985 100644 (file)
@@ -390,7 +390,16 @@ struct osc_lock {
        /**
         * For async glimpse lock.
         */
-                               ols_agl:1;
+                               ols_agl:1,
+       /**
+        * for speculative locks - asynchronous glimpse locks and ladvise
+        * lockahead manual lock requests
+        *
+        * Used to tell osc layer to not wait for the ldlm reply from the
+        * server, so the osc lock will be short lived - It only exists to
+        * create the ldlm request and is not updated on request completion.
+        */
+                               ols_speculative:1;
 };
 
 
@@ -436,6 +445,18 @@ struct osc_page {
        cfs_time_t              ops_submit_time;
 };
 
+struct osc_brw_async_args {
+       struct obdo             *aa_oa;
+       int                      aa_requested_nob;
+       int                      aa_nio_count;
+       u32                      aa_page_count;
+       int                      aa_resends;
+       struct brw_page         **aa_ppga;
+       struct client_obd       *aa_cli;
+       struct list_head         aa_oaps;
+       struct list_head         aa_exts;
+};
+
 extern struct kmem_cache *osc_lock_kmem;
 extern struct kmem_cache *osc_object_kmem;
 extern struct kmem_cache *osc_thread_kmem;