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=677ddc6c917e27dd06282d62a9f245e940e258e3;hb=87c86d444e61e38d6454bba5700ba966dc1ac83d;hpb=a2a0746305449dbd925879b14dc2c0d6040bb8bf diff --git a/lustre/include/linux/lustre_export.h b/lustre/include/linux/lustre_export.h index 677ddc6..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,50 +22,68 @@ 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 ldlm_export_data { - struct list_head led_held_locks; /* protected by namespace lock */ - struct obd_import *led_import; +struct osc_creator { + spinlock_t oscc_lock; + struct obd_device *oscc_obd; + int oscc_flags; + obd_id oscc_next_id; + wait_queue_head_t oscc_waitq; }; -struct lov_export_data { - spinlock_t led_lock; - struct list_head led_open_head; +struct ldlm_export_data { + struct list_head led_held_locks; /* protected by namespace lock */ }; struct ec_export_data { /* echo client */ - struct list_head eced_open_head; struct list_head eced_locks; }; /* In-memory access to client data from OST struct */ struct filter_client_data; +struct obd_llogs; struct filter_export_data { - struct list_head fed_open_head; //files to close on disconnect 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; + 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; + struct obd_import *exp_imp_reverse; /* to make RPCs backwards */ struct ptlrpc_connection *exp_connection; + __u32 exp_conn_cnt; struct ldlm_export_data exp_ldlm_data; - struct ptlrpc_request *exp_outstanding_reply; + struct list_head exp_outstanding_replies; time_t exp_last_request_time; spinlock_t exp_lock; /* protects flags int below */ - int exp_failed:1; - int exp_flags; + /* ^ protects exp_outstanding_replies too */ + 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 lov_export_data eu_lov_data; struct ec_export_data eu_ec_data; } u; };