Whamcloud - gitweb
LU-5275 lprocfs: replace LPROCFS with CONFIG_PROC_FS
[fs/lustre-release.git] / lustre / osd-zfs / osd_internal.h
index 3807fe1..47f9a2e 100644 (file)
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
- */
-/*
- * Copyright (c) 2012, 2013, Intel Corporation.
- * Use is subject to license terms.
+ *
+ * Copyright (c) 2012, 2014, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -51,6 +49,9 @@
 #include <lustre_quota.h>
 
 #define _SPL_KMEM_H
+/* SPL redefines this but to the same value: ~0UL vs -1, but GCC complains.
+ * fixed in SPL master 52479ecf58fa89190e384edcf838fecccc786af5 */
+#undef SHRINK_STOP
 #include <sys/kstat.h>
 #define kmem_zalloc(a, b)      kzalloc(a, b)
 #define kmem_free(ptr, sz)     ((void)(sz), kfree(ptr))
@@ -190,6 +191,7 @@ struct osd_thread_info {
 
        struct lquota_id_info    oti_qi;
        struct lu_seq_range      oti_seq_range;
+       unsigned int             oti_it_inline:1;
 };
 
 extern struct lu_context_key osd_key;
@@ -223,7 +225,7 @@ struct osd_oi {
 struct osd_seq {
        uint64_t         *os_compat_dirs;
        int              os_subdir_count; /* subdir count for each seq */
-       obd_seq          os_seq;          /* seq number */
+       u64              os_seq;          /* seq number */
        struct list_head os_seq_list;     /* list to seq_list */
 };
 
@@ -285,6 +287,10 @@ struct osd_device {
        /* quota slave instance */
        struct qsd_instance     *od_quota_slave;
 
+       struct brw_stats        od_brw_stats;
+       atomic_t                od_r_in_flight;
+       atomic_t                od_w_in_flight;
+
        /* used to debug zerocopy logic: the fields track all
         * allocated, loaned and referenced buffers in use.
         * to be removed once the change is tested well. */
@@ -332,6 +338,7 @@ int osd_statfs(const struct lu_env *, struct dt_device *, struct obd_statfs *);
 extern const struct dt_index_operations osd_acct_index_ops;
 uint64_t osd_quota_fid2dmu(const struct lu_fid *fid);
 extern struct lu_device_operations  osd_lu_ops;
+extern struct dt_index_operations osd_dir_ops;
 int osd_declare_quota(const struct lu_env *env, struct osd_device *osd,
                      qid_t uid, qid_t gid, long long space,
                      struct osd_thandle *oh, bool is_blk, int *flags,
@@ -405,7 +412,7 @@ static inline char *osd_name(struct osd_device *osd)
        return osd->od_dt_dev.dd_lu_dev.ld_obd->obd_name;
 }
 
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
 enum {
        LPROC_OSD_READ_BYTES = 0,
        LPROC_OSD_WRITE_BYTES = 1,
@@ -459,7 +466,7 @@ int osd_ost_seq_exists(const struct lu_env *env, struct osd_device *osd,
 int osd_index_try(const struct lu_env *env, struct dt_object *dt,
                  const struct dt_index_features *feat);
 int osd_fld_lookup(const struct lu_env *env, struct osd_device *osd,
-                  obd_seq seq, struct lu_seq_range *range);
+                  u64 seq, struct lu_seq_range *range);
 void osd_zap_cursor_init_serialized(zap_cursor_t *zc, struct objset *os,
                                    uint64_t id, uint64_t dirhash);
 int osd_zap_cursor_init(zap_cursor_t **zc, struct objset *os,
@@ -488,7 +495,7 @@ int osd_xattr_del(const struct lu_env *env, struct dt_object *dt,
                  const char *name, struct thandle *handle,
                  struct lustre_capa *capa);
 int osd_xattr_list(const struct lu_env *env, struct dt_object *dt,
-                  struct lu_buf *lb, struct lustre_capa *capa);
+                  const struct lu_buf *lb, struct lustre_capa *capa);
 void __osd_xattr_declare_set(const struct lu_env *env, struct osd_object *obj,
                        int vallen, const char *name, struct osd_thandle *oh);
 int __osd_sa_xattr_set(const struct lu_env *env, struct osd_object *obj,