Whamcloud - gitweb
LU-2349 osp: Move log ops init to module init.
[fs/lustre-release.git] / lustre / osp / osp_internal.h
index 5f4b77c..1815a0c 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2012, Intel, Inc.
+ * Copyright (c) 2012, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -50,7 +50,7 @@
  * Infrastructure to support tracking of last committed llog record
  */
 struct osp_id_tracker {
-       cfs_spinlock_t           otr_lock;
+       spinlock_t               otr_lock;
        __u32                    otr_next_id;
        __u32                    otr_committed_id;
        /* callback is register once per diskfs -- that's the whole point */
@@ -102,9 +102,9 @@ struct osp_device {
        /*
         * Precreation pool
         */
-       cfs_spinlock_t                   opd_pre_lock;
-       /* next id to assign in creation */
-       __u64                            opd_pre_next;
+       spinlock_t                       opd_pre_lock;
+       /* last id assigned in creation */
+       __u64                            opd_pre_used_id;
        /* last created id OST reported, next-created - available id's */
        __u64                            opd_pre_last_created;
        /* how many ids are reserved in declare, we shouldn't block in create */
@@ -123,11 +123,13 @@ struct osp_device {
        int                              opd_pre_max_grow_count;
        /* whether to grow precreation window next time or not */
        int                              opd_pre_grow_slow;
+       /* cleaning up orphans or recreating missing objects */
+       int                              opd_pre_recovering;
 
        /*
         * OST synchronization
         */
-       cfs_spinlock_t                   opd_syn_lock;
+       spinlock_t                       opd_syn_lock;
        /* unique generation, to recognize start of new records in the llog */
        struct llog_gen                  opd_syn_generation;
        /* number of changes to sync, used to wake up sync thread */
@@ -293,6 +295,7 @@ static inline struct dt_object *osp_object_child(struct osp_object *o)
 
 /* osp_dev.c */
 void osp_update_last_id(struct osp_device *d, obd_id objid);
+extern struct llog_operations osp_mds_ost_orig_logops;
 
 /* osp_precreate.c */
 int osp_init_precreate(struct osp_device *d);
@@ -305,6 +308,7 @@ void osp_statfs_need_now(struct osp_device *d);
 
 /* lproc_osp.c */
 void lprocfs_osp_init_vars(struct lprocfs_static_vars *lvars);
+void osp_lprocfs_init(struct osp_device *osp);
 
 /* osp_sync.c */
 int osp_sync_declare_add(const struct lu_env *env, struct osp_object *o,