From: adilger Date: Tue, 1 Oct 2002 05:39:13 +0000 (+0000) Subject: Add LOV export handle to reference open handles. X-Git-Tag: v1_7_100~4650 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=ba5aa95eae72eff9fd825ac89b4db3e8b18e62b9 Add LOV export handle to reference open handles. Make a union out of MDS/LOV/obdfilter export data, not sure if LDLM data can share the same export of not. --- diff --git a/lustre/include/linux/lustre_export.h b/lustre/include/linux/lustre_export.h index b1be23d..38551ac 100644 --- a/lustre/include/linux/lustre_export.h +++ b/lustre/include/linux/lustre_export.h @@ -14,6 +14,11 @@ #include #include +#include + +struct lov_export_data { + struct list_head led_open_head; +}; struct obd_export { __u64 exp_cookie; @@ -22,17 +27,22 @@ struct obd_export { struct list_head exp_conn_chain; struct obd_device *exp_obd; struct ptlrpc_connection *exp_connection; - struct mds_export_data exp_mds_data; - struct ldlm_export_data exp_ldlm_data; -#if NOTYET && 0 - struct ost_export_data exp_ost_data; -#endif + struct ldlm_export_data exp_ldlm_data; /* can this go inside u? */ + union { + struct mds_export_data eu_mds_data; + struct filter_export_data eu_filter_data; + struct lov_export_data eu_lov_data; + } u; void *exp_data; /* device specific data */ int exp_desclen; char *exp_desc; obd_uuid_t exp_uuid; }; +#define exp_mds_data u.eu_mds_data +#define exp_lov_data u.eu_lov_data +#define exp_filter_data u.eu_filter_data + extern struct obd_export *class_conn2export(struct lustre_handle *conn); extern struct obd_device *class_conn2obd(struct lustre_handle *conn); #endif /* __KERNEL__ */