X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_export.h;h=1fc326334a5bd5d4d856934a0a2170811d2baccf;hp=218807c03f1182d7b900cec95c01753f937532ad;hb=87c86d444e61e38d6454bba5700ba966dc1ac83d;hpb=e0576be940d7af30b2ba6e219891a4413670325d diff --git a/lustre/include/linux/lustre_export.h b/lustre/include/linux/lustre_export.h index 218807c..1fc3263 100644 --- a/lustre/include/linux/lustre_export.h +++ b/lustre/include/linux/lustre_export.h @@ -14,6 +14,7 @@ #include struct mds_client_data; +struct mds_idmap_table; struct mds_export_data { struct list_head med_open_head; @@ -21,25 +22,19 @@ struct mds_export_data { struct mds_client_data *med_mcd; loff_t med_off; int med_idx; + unsigned int med_initialized:1, + med_remote:1; + __u32 med_nllu; + __u32 med_nllg; + struct mds_idmap_table *med_idmap; }; struct osc_creator { spinlock_t oscc_lock; - struct list_head oscc_list; - struct obd_export *oscc_exp; - obd_id oscc_last_id;//last available pre-created object - obd_id oscc_next_id;// what object id to give out next - int oscc_initial_create_count; - int oscc_grow_count; - int oscc_kick_barrier; - struct osc_created *oscc_osccd; - struct obdo oscc_oa; + struct obd_device *oscc_obd; int oscc_flags; - wait_queue_head_t oscc_waitq; /* creating procs wait on this */ -}; - -struct osc_export_data { - struct osc_creator oed_oscc; + obd_id oscc_next_id; + wait_queue_head_t oscc_waitq; }; struct ldlm_export_data { @@ -52,19 +47,22 @@ struct ec_export_data { /* echo client */ /* In-memory access to client data from OST struct */ struct filter_client_data; +struct obd_llogs; struct filter_export_data { spinlock_t fed_lock; /* protects fed_open_head */ + __u32 fed_group; struct filter_client_data *fed_fcd; loff_t fed_lr_off; int fed_lr_idx; - unsigned long fed_dirty; /* in bytes */ - unsigned long fed_grant; /* in bytes */ - unsigned long fed_pending; /* bytes just being written */ + long fed_dirty; /* in bytes */ + long fed_grant; /* in bytes */ + long fed_pending; /* bytes just being written */ }; struct obd_export { struct portals_handle exp_handle; atomic_t exp_refcount; + atomic_t exp_rpc_count; struct obd_uuid exp_client_uuid; struct list_head exp_obd_chain; struct obd_device *exp_obd; @@ -76,21 +74,23 @@ struct obd_export { time_t exp_last_request_time; spinlock_t exp_lock; /* protects flags int below */ /* ^ protects exp_outstanding_replies too */ - int exp_flags; - int exp_failed:1; - int exp_libclient:1; /* liblustre client? */ + unsigned long exp_flags; + int exp_failed:1, + exp_req_replay_needed:1, + exp_lock_replay_needed:1, + exp_connected:1, + exp_libclient:1, /* liblustre client? */ + exp_sync:1; union { struct mds_export_data eu_mds_data; struct filter_export_data eu_filter_data; struct ec_export_data eu_ec_data; - struct osc_export_data eu_osc_data; } u; }; #define exp_mds_data u.eu_mds_data #define exp_lov_data u.eu_lov_data #define exp_filter_data u.eu_filter_data -#define exp_osc_data u.eu_osc_data #define exp_ec_data u.eu_ec_data extern struct obd_export *class_conn2export(struct lustre_handle *conn);