- cfs_spinlock_t imp_lock;
-
- /* flags */
- unsigned long imp_no_timeout:1, /* timeouts are disabled */
- imp_invalid:1, /* evicted */
- imp_deactive:1, /* administratively disabled */
- imp_replayable:1, /* try to recover the import */
- imp_dlm_fake:1, /* don't run recovery (timeout instead) */
- imp_server_timeout:1, /* use 1/2 timeout on MDS' OSCs */
- imp_delayed_recovery:1, /* VBR: imp in delayed recovery */
- imp_no_lock_replay:1, /* VBR: if gap was found then no lock replays */
- imp_vbr_failed:1, /* recovery by versions was failed */
- imp_force_verify:1, /* force an immidiate ping */
- imp_pingable:1, /* pingable */
- imp_resend_replay:1, /* resend for replay */
- imp_no_pinger_recover:1,/* disable normal recovery, for test only. */
- imp_force_reconnect:1; /* import must be reconnected instead of chouse new connection */
- __u32 imp_connect_op;
- struct obd_connect_data imp_connect_data;
- __u64 imp_connect_flags_orig;
- int imp_connect_error;
-
- __u32 imp_msg_magic;
- __u32 imp_msghdr_flags; /* adjusted based on server capability */
-
- struct ptlrpc_request_pool *imp_rq_pool; /* emergency request pool */
-
- struct imp_at imp_at; /* adaptive timeout data */
- time_t imp_last_reply_time; /* for health check */
-};
-
-typedef void (*obd_import_callback)(struct obd_import *imp, void *closure,
- int event, void *event_arg, void *cb_data);
-
-/**
- * Structure for import observer.
- * It is possible to register "observer" on an import and every time
- * something happens to an import (like connect/evict/disconnect)
- * obderver will get its callback called with event type
- */
-struct obd_import_observer {
- cfs_list_t oio_chain;
- obd_import_callback oio_cb;
- void *oio_cb_data;
+ spinlock_t imp_lock;
+
+ /* flags */
+ unsigned long imp_no_timeout:1, /* timeouts are disabled */
+ imp_invalid:1, /* evicted */
+ /* administratively disabled */
+ imp_deactive:1,
+ /* try to recover the import */
+ imp_replayable:1,
+ /* don't run recovery (timeout instead) */
+ imp_dlm_fake:1,
+ /* use 1/2 timeout on MDS' OSCs */
+ imp_server_timeout:1,
+ /* VBR: imp in delayed recovery */
+ imp_delayed_recovery:1,
+ /* recovery by versions was failed */
+ imp_vbr_failed:1,
+ /* force an immidiate ping */
+ imp_force_verify:1,
+ /* force a scheduled ping */
+ imp_force_next_verify:1,
+ /* pingable */
+ imp_pingable:1,
+ /* resend for replay */
+ imp_resend_replay:1,
+ /* disable normal recovery, for test only. */
+ imp_no_pinger_recover:1,
+ /* import must be reconnected instead of
+ * chouse new connection */
+ imp_force_reconnect:1,
+ /* import has tried to connect with server */
+ imp_connect_tried:1,
+ /* connected but not FULL yet */
+ imp_connected:1;
+ u32 imp_connect_op;
+ u32 imp_idle_timeout;
+ u32 imp_idle_debug;
+ struct obd_connect_data imp_connect_data;
+ __u64 imp_connect_flags_orig;
+ __u64 imp_connect_flags2_orig;
+ int imp_connect_error;
+
+ enum lustre_msg_magic imp_msg_magic;
+ /* adjusted based on server capability */
+ enum lustre_msghdr imp_msghdr_flags;
+
+ /* adaptive timeout data */
+ struct imp_at imp_at;
+ time64_t imp_last_reply_time; /* for health check */