Whamcloud - gitweb
LU-3469 osp: osp_sync() to flush pending changes synchronously
[fs/lustre-release.git] / lustre / osp / osp_internal.h
index e220914..2f08aaa 100644 (file)
@@ -59,8 +59,8 @@ struct osp_id_tracker {
        /* callback is register once per diskfs -- that's the whole point */
        struct dt_txn_callback   otr_tx_cb;
        /* single node can run many clusters */
-       cfs_list_t               otr_wakeup_list;
-       cfs_list_t               otr_list;
+       struct list_head         otr_wakeup_list;
+       struct list_head         otr_list;
        /* underlying shared device */
        struct dt_device        *otr_dev;
        /* how many users of this tracker */
@@ -154,7 +154,7 @@ struct osp_device {
        struct ptlrpc_thread             opd_syn_thread;
        wait_queue_head_t                opd_syn_waitq;
        /* list of remotely committed rpc */
-       cfs_list_t                       opd_syn_committed_there;
+       struct list_head                 opd_syn_committed_there;
        /* number of changes being under sync */
        int                              opd_syn_sync_in_progress;
        /* number of RPCs in flight - flow control */
@@ -173,7 +173,10 @@ struct osp_device {
        /* last processed (taken from llog) id */
        unsigned long                    opd_syn_last_processed_id;
        struct osp_id_tracker           *opd_syn_tracker;
-       cfs_list_t                       opd_syn_ontrack;
+       struct list_head                 opd_syn_ontrack;
+       /* stop processing new requests until barrier=0 */
+       atomic_t                         opd_syn_barrier;
+       wait_queue_head_t                opd_syn_barrier_waitq;
 
        /*
         * statfs related fields: OSP maintains it on its own
@@ -586,7 +589,6 @@ int osp_write_last_oid_seq_files(struct lu_env *env, struct osp_device *osp,
 int osp_init_pre_fid(struct osp_device *osp);
 
 /* lproc_osp.c */
-void lprocfs_osp_init_vars(struct lprocfs_static_vars *lvars);
 void osp_lprocfs_init(struct osp_device *osp);
 
 /* osp_sync.c */
@@ -600,7 +602,6 @@ int osp_sync_fini(struct osp_device *d);
 void __osp_sync_check_for_work(struct osp_device *d);
 
 /* lwp_dev.c */
-void lprocfs_lwp_init_vars(struct lprocfs_static_vars *lvars);
 extern struct obd_ops lwp_obd_device_ops;
 extern struct lu_device_type lwp_device_type;