X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Finclude%2Flinux%2Fobd.h;h=104acc0590c81945f37e656c4103643f7f0c5ad3;hb=87c86d444e61e38d6454bba5700ba966dc1ac83d;hp=35bd8762381090082f242592e442707cafbb2fa3;hpb=30964bcc157e3ad76714b7e55491112c3ae8ebad;p=fs%2Flustre-release.git diff --git a/lustre/include/linux/obd.h b/lustre/include/linux/obd.h index 35bd876..104acc0 100644 --- a/lustre/include/linux/obd.h +++ b/lustre/include/linux/obd.h @@ -255,6 +255,11 @@ struct filter_obd { struct list_head fo_llog_list; spinlock_t fo_llog_list_lock; + + /* which secure flavor from remote is denied */ + spinlock_t fo_denylist_lock; + struct list_head fo_denylist; + }; struct mds_server_data; @@ -368,11 +373,12 @@ struct mds_obd { struct obd_export *mds_dt_exp; int mds_has_dt_desc; struct lov_desc mds_dt_desc; + + spinlock_t mds_dt_lock; obd_id *mds_dt_objids; - int mds_dt_objids_valid; - int mds_dt_nextid_set; struct file *mds_dt_objid_filp; - spinlock_t mds_dt_lock; + int mds_dt_objids_valid; + unsigned long *mds_client_bitmap; struct semaphore mds_orphan_recovery_sem; @@ -399,6 +405,10 @@ struct mds_obd { /* security related */ char *mds_mds_sec; char *mds_ost_sec; + /* which secure flavor from remote to this mds is denied */ + spinlock_t mds_denylist_lock; + struct list_head mds_denylist; + struct semaphore mds_create_sem; }; struct echo_obd { @@ -455,6 +465,8 @@ struct echo_client_obd { struct cache_obd { struct obd_export *master_exp; /* local connection to master obd */ struct obd_export *cache_exp; /* local connection to cache obd */ + struct obd_export *cache_real_exp; + struct obd_export *master_real_exp; struct obd_device *master; struct obd_device *cache; char *master_name; @@ -535,13 +547,17 @@ struct niobuf_local { int rc; }; +#define OBD_MODE_ASYNC (1 << 0) +#define OBD_MODE_CROW (1 << 1) + /* Don't conflict with on-wire flags OBD_BRW_WRITE, etc */ #define N_LOCAL_TEMP_PAGE 0x10000000 struct obd_trans_info { __u64 oti_transno; __u64 *oti_objid; - /* Only used on the server side for tracking acks. */ + + /* only used on the server side for tracking acks. */ struct oti_req_ack_lock { struct lustre_handle lock; __u32 mode; @@ -550,6 +566,7 @@ struct obd_trans_info { struct llog_cookie oti_onecookie; struct llog_cookie *oti_logcookies; int oti_numcookies; + int oti_flags; }; static inline void oti_alloc_cookies(struct obd_trans_info *oti,int num_cookies)