#ifndef __EXPORT_H
#define __EXPORT_H
+#include <lprocfs_status.h>
#include <lustre/lustre_idl.h>
#include <lustre_dlm.h>
-#include <lprocfs_status.h>
#include <class_hash.h>
struct mds_client_data;
struct osc_creator {
spinlock_t oscc_lock;
- struct list_head oscc_list;
+ struct list_head oscc_wait_create_list;
struct obd_device *oscc_obd;
obd_id oscc_last_id;//last available pre-created object
obd_id oscc_next_id;// what object id to give out next
struct portals_handle exp_handle;
atomic_t exp_refcount;
atomic_t exp_rpc_count;
+ atomic_t exp_cb_count;
+ atomic_t exp_locks_count;
+ atomic_t exp_replay_count;
struct obd_uuid exp_client_uuid;
struct list_head exp_obd_chain;
struct hlist_node exp_uuid_hash; /* uuid-export hash*/
exp_need_sync:1,
exp_flvr_changed:1,
exp_flvr_adapt:1,
- exp_libclient:1; /* liblustre client? */
+ exp_libclient:1, /* liblustre client? */
+ /* client timed out and tried to reconnect,
+ * but couldn't because of active rpcs */
+ exp_abort_active_req:1;
struct list_head exp_queued_rpc; /* RPC to be handled */
/* also protected by exp_lock */
enum lustre_sec_part exp_sp_peer;
return !!(exp->exp_connect_flags & OBD_CONNECT_VBR);
}
+static inline int exp_connect_som(struct obd_export *exp)
+{
+ LASSERT(exp != NULL);
+ return !!(exp->exp_connect_flags & OBD_CONNECT_SOM);
+}
+
static inline int imp_connect_lru_resize(struct obd_import *imp)
{
struct obd_connect_data *ocd;