Whamcloud - gitweb
LU-12624 obdclass: lu_tgt_descs cleanup
[fs/lustre-release.git] / lustre / include / obd.h
index f26b59f..c1c1f37 100644 (file)
@@ -99,7 +99,6 @@ struct obd_info {
 };
 
 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;
@@ -342,6 +341,8 @@ struct client_obd {
         __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;
@@ -393,7 +394,7 @@ struct lov_md_tgt_desc {
 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;
@@ -423,25 +424,24 @@ struct lov_obd {
 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)
 
@@ -456,6 +456,8 @@ struct niobuf_local {
        __u16           lnb_guards[MAX_GUARD_NUMBER];
        __u16           lnb_guard_rpc:1;
        __u16           lnb_guard_disk:1;
+       /* separate unlock for read path to allow shared access */
+       __u16           lnb_locked:1;
 };
 
 struct tgt_thread_big_cache {
@@ -588,7 +590,6 @@ struct obd_llog_group {
        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 */
@@ -664,7 +665,7 @@ struct obd_device {
        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
@@ -680,8 +681,11 @@ struct obd_device {
        time64_t                obd_recovery_start;
        /* seconds, for lprocfs_status */
        time64_t                obd_recovery_end;
-       time64_t                obd_recovery_time_hard;
-       time64_t                obd_recovery_timeout;
+       /* To tell timeouts from time stamps Lustre uses time_t
+        * instead of time64_t.
+        */
+       time_t                  obd_recovery_time_hard;
+       time_t                  obd_recovery_timeout;
        int                     obd_recovery_ir_factor;
 
        /* new recovery stuff from CMD2 */
@@ -1031,7 +1035,7 @@ struct lustre_md {
                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
 };