};
struct obd_type {
- struct list_head typ_chain;
struct obd_ops *typ_dt_ops;
struct md_ops *typ_md_ops;
struct proc_dir_entry *typ_procroot;
__u32 cl_supp_cksum_types;
/* checksum algorithm to be used */
enum cksum_types cl_cksum_type;
+ /* preferred checksum algorithm to be used */
+ enum cksum_types cl_preferred_cksum_type;
/* also protected by the poorly named _loi_list_lock lock above */
struct osc_async_rc cl_ar;
struct lov_obd {
struct lov_desc desc;
struct lov_tgt_desc **lov_tgts; /* sparse array */
- struct ost_pool lov_packed; /* all OSTs in a packed
+ struct lu_tgt_pool lov_packed; /* all OSTs in a packed
array */
struct mutex lov_lock;
struct obd_connect_data lov_ocd;
struct lmv_obd {
struct lu_client_fld lmv_fld;
spinlock_t lmv_lock;
- struct lmv_desc desc;
- struct mutex lmv_init_mutex;
int connected;
int max_easize;
int max_def_easize;
u32 lmv_statfs_start;
- u32 tgts_size; /* size of tgts array */
- struct lmv_tgt_desc **tgts;
+ struct lu_tgt_descs lmv_mdt_descs;
struct obd_connect_data conn_data;
struct kobject *lmv_tgts_kobj;
void *lmv_cache;
- struct lu_qos lmv_qos;
__u32 lmv_qos_rr_index;
};
+#define lmv_mdt_count lmv_mdt_descs.ltd_lmv_desc.ld_tgt_count
+#define lmv_qos lmv_mdt_descs.ltd_qos
+
/* Minimum sector size is 512 */
#define MAX_GUARD_NUMBER (PAGE_SIZE / 512)
struct llog_ctxt *olg_ctxts[LLOG_MAX_CTXTS];
wait_queue_head_t olg_waitq;
spinlock_t olg_lock;
- struct mutex olg_cat_processing;
};
/* corresponds to one of the obd's */
struct list_head obd_exports_timed;
time64_t obd_eviction_timer; /* for ping evictor */
- int obd_max_recoverable_clients;
+ atomic_t obd_max_recoverable_clients;
atomic_t obd_connected_clients;
int obd_stale_clients;
/* this lock protects all recovery list_heads, timer and
struct lmv_foreign_md *lfm;
};
struct lmv_stripe_md *default_lmv;
-#ifdef CONFIG_FS_POSIX_ACL
+#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
struct posix_acl *posix_acl;
#endif
};