/**
* 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;
};
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;