Whamcloud - gitweb
LU-10171 lmv: avoid gratuitous 64-bit modulus
[fs/lustre-release.git] / lustre / include / obd.h
index 78cb375..f651de9 100644 (file)
@@ -441,16 +441,18 @@ struct lmv_obd {
        int                     connected;
        int                     max_easize;
        int                     max_def_easize;
+       u32                     lmv_statfs_start;
 
-       __u32                   tgts_size; /* size of tgts array */
+       u32                     tgts_size; /* size of tgts array */
        struct lmv_tgt_desc     **tgts;
-       int                     lmv_statfs_start;
-
 
        struct obd_connect_data conn_data;
        struct kobject          *lmv_tgts_kobj;
 };
 
+/* Minimum sector size is 512 */
+#define MAX_GUARD_NUMBER (PAGE_SIZE / 512)
+
 struct niobuf_local {
        __u64           lnb_file_offset;
        __u32           lnb_page_offset;
@@ -459,6 +461,9 @@ struct niobuf_local {
        int             lnb_rc;
        struct page     *lnb_page;
        void            *lnb_data;
+       __u16           lnb_guards[MAX_GUARD_NUMBER];
+       __u16           lnb_guard_rpc:1;
+       __u16           lnb_guard_disk:1;
 };
 
 struct tgt_thread_big_cache {
@@ -843,6 +848,8 @@ struct md_op_data {
        s64                     op_mod_time;
        const char              *op_name;
        size_t                  op_namelen;
+       struct rw_semaphore     *op_mea1_sem;
+       struct rw_semaphore     *op_mea2_sem;
        struct lmv_stripe_md    *op_mea1;
        struct lmv_stripe_md    *op_mea2;
        __u32                   op_suppgids[2];