X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_import.h;h=4fc2581bdd9591c3b68c5b1f3633a509fa78e37e;hb=040033cef24c5aca2967daf2da7a862abcd074cf;hp=893fd0ae2224b8c8aa790931e566c9a69ef2e289;hpb=4d477d1468cf4be4c37681610b3d726fd27f229f;p=fs%2Flustre-release.git diff --git a/lustre/include/linux/lustre_import.h b/lustre/include/linux/lustre_import.h index 893fd0a..4fc2581 100644 --- a/lustre/include/linux/lustre_import.h +++ b/lustre/include/linux/lustre_import.h @@ -10,33 +10,41 @@ #ifndef __IMPORT_H #define __IMPORT_H -#ifdef __KERNEL__ #define IMP_INVALID 1 #define IMP_REPLAYABLE 2 + +struct obd_import; +typedef int (*import_recover_t)(struct obd_import *imp, int phase); #include + struct obd_import { + import_recover_t imp_recover; struct ptlrpc_connection *imp_connection; struct ptlrpc_client *imp_client; struct lustre_handle imp_handle; struct list_head imp_chain; - struct list_head imp_request_list; + + /* Lists of requests that are retained for replay, waiting for a reply, + * or waiting for recovery to complete, respectively. + */ + struct list_head imp_replay_list; + struct list_head imp_sending_list; + struct list_head imp_delayed_list; + struct obd_device *imp_obd; int imp_flags; int imp_level; - __u64 imp_last_xid; __u64 imp_max_transno; - __u64 imp_peer_last_xid; __u64 imp_peer_committed_transno; - /* Protects flags, level, *_xid, request_list */ + /* Protects flags, level, *_list */ spinlock_t imp_lock; }; extern struct obd_import *class_conn2cliimp(struct lustre_handle *); extern struct obd_import *class_conn2ldlmimp(struct lustre_handle *); -#endif /* __KERNEL__ */ #endif /* __IMPORT_H */