Whamcloud - gitweb
LU-6050 target: control OST-index in IDIF via ROCOMPAT flag
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_internal.h
index f229d58..8ee1865 100644 (file)
@@ -234,19 +234,19 @@ struct osd_device {
        unsigned int              od_fl_capa:1,
                                  od_maybe_new:1,
                                  od_noscrub:1,
-                                 od_dirent_journal:1,
                                  od_igif_inoi:1,
                                  od_check_ff:1,
                                  od_is_ost:1,
-                                 od_lma_self_repair:1;
+                                 od_index_in_idif:1;
 
-        unsigned long             od_capa_timeout;
-        __u32                     od_capa_alg;
-        struct lustre_capa_key   *od_capa_keys;
+       unsigned long             od_capa_timeout;
+       __u32                     od_capa_alg;
+       __u32                     od_dirent_journal;
+       struct lustre_capa_key   *od_capa_keys;
        struct hlist_head        *od_capa_hash;
 
        struct proc_dir_entry    *od_proc_entry;
-        struct lprocfs_stats     *od_stats;
+       struct lprocfs_stats     *od_stats;
 
        spinlock_t                od_osfs_lock;
 
@@ -284,9 +284,9 @@ struct osd_device {
         * OI scrub to scan the whole the device. */
        __u64                    od_full_scrub_ratio;
        /* If the speed of found bad OI mappings (per minute)
-        * exceeds the osd_device::od_full_scrub_speed, then
-        * trigger OI scrub to scan the whole the device. */
-       __u64                    od_full_scrub_speed;
+        * exceeds the osd_device::od_full_scrub_threshold_rate,
+        * then trigger OI scrub to scan the whole device. */
+       __u64                    od_full_scrub_threshold_rate;
 };
 
 enum osd_full_scrub_ratio {
@@ -301,7 +301,7 @@ enum osd_full_scrub_ratio {
        OFSR_DEFAULT    = 10000,
 };
 
-#define FULL_SCRUB_SPEED_DEFULT        60
+#define FULL_SCRUB_THRESHOLD_RATE_DEFAULT      60
 
 /* There are at most 10 uid/gids are affected in a transaction, and
  * that's rename case:
@@ -375,7 +375,7 @@ enum dt_txn_op {
  * osd dev stats
  */
 
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
 enum {
         LPROC_OSD_READ_BYTES    = 0,
         LPROC_OSD_WRITE_BYTES   = 1,
@@ -427,17 +427,18 @@ struct osd_it_ea_dirent {
  * mode (i.e. iterator over ldiskfs style directory)
  */
 struct osd_it_ea {
-        struct osd_object   *oie_obj;
-        /** used in ldiskfs iterator, to stored file pointer */
-        struct file          oie_file;
-        /** how many entries have been read-cached from storage */
-        int                  oie_rd_dirent;
-        /** current entry is being iterated by caller */
-        int                  oie_it_dirent;
-        /** current processing entry */
-        struct osd_it_ea_dirent *oie_dirent;
-        /** buffer to hold entries, size == OSD_IT_EA_BUFSIZE */
-        void                *oie_buf;
+       struct osd_object       *oie_obj;
+       /** used in ldiskfs iterator, to stored file pointer */
+       struct file             oie_file;
+       /** how many entries have been read-cached from storage */
+       int                     oie_rd_dirent;
+       /** current entry is being iterated by caller */
+       int                     oie_it_dirent;
+       /** current processing entry */
+       struct osd_it_ea_dirent *oie_dirent;
+       /** buffer to hold entries, size == OSD_IT_EA_BUFSIZE */
+       void                    *oie_buf;
+       struct dentry           oie_dentry;
 };
 
 /**
@@ -517,10 +518,10 @@ struct osd_thread_info {
          * XXX temporary: for ->i_op calls.
          */
         struct timespec        oti_time;
-        /*
-         * XXX temporary: fake struct file for osd_object_sync
-         */
-        struct file            oti_file;
+       /*
+        * XXX temporary: fake struct file for osd_object_sync
+        */
+       struct file            oti_file;
         /*
          * XXX temporary: for capa operations.
          */
@@ -537,18 +538,9 @@ struct osd_thread_info {
          * in open iterator session.
          */
 
-        /** osd iterator context used for iterator session */
-
-       union {
-               struct osd_it_iam       oti_it;
-               /* ldiskfs iterator data structure,
-                * see osd_it_ea_{init, fini} */
-               struct osd_it_ea        oti_it_ea;
-               struct osd_it_quota     oti_it_quota;
-       };
-
        /** pre-allocated buffer used by oti_it_ea, size OSD_IT_EA_BUFSIZE */
        void                    *oti_it_ea_buf;
+       unsigned int            oti_it_ea_buf_used:1;
 
        struct kstatfs          oti_ksfs;
 
@@ -568,7 +560,6 @@ struct osd_thread_info {
 
        struct osd_idmap_cache oti_cache;
 
-       unsigned int           oti_it_inline:1;
         int                    oti_r_locks;
         int                    oti_w_locks;
         int                    oti_txns;
@@ -643,13 +634,16 @@ static inline int __osd_xattr_set(struct osd_thread_info *info,
        return inode->i_op->setxattr(dentry, name, buf, buflen, fl);
 }
 
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
 /* osd_lproc.c */
-extern struct lprocfs_seq_vars lprocfs_osd_obd_vars[];
-extern struct lprocfs_seq_vars lprocfs_osd_module_vars[];
+extern struct lprocfs_vars lprocfs_osd_obd_vars[];
+extern struct lprocfs_vars lprocfs_osd_module_vars[];
 int osd_procfs_init(struct osd_device *osd, const char *name);
 int osd_procfs_fini(struct osd_device *osd);
 void osd_brw_stats_update(struct osd_device *osd, struct osd_iobuf *iobuf);
+#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(3, 0, 52, 0)
+int osd_register_proc_index_in_idif(struct osd_device *osd);
+#endif
 
 #endif
 int osd_statfs(const struct lu_env *env, struct dt_device *dev,