Lines Matching defs:r5l_log

91 struct r5l_log {  struct
92 struct md_rdev *rdev;
94 u32 uuid_checksum;
96 sector_t device_size; /* log device size, round to
98 sector_t max_free_space; /* reclaim run if free space is at
101 sector_t last_checkpoint; /* log tail. where recovery scan
103 u64 last_cp_seq; /* log tail sequence */
105 sector_t log_start; /* log head. where new data appends */
106 u64 seq; /* log head sequence */
108 sector_t next_checkpoint;
110 struct mutex io_mutex;
111 struct r5l_io_unit *current_io; /* current io_unit accepting new data */
113 spinlock_t io_list_lock;
114 struct list_head running_ios; /* io_units which are still running,
117 struct list_head io_end_ios; /* io_units which have been completely
120 struct list_head flushing_ios; /* io_units which are waiting for log
122 struct list_head finished_ios; /* io_units which settle down in log disk */
123 struct bio flush_bio;
125 struct list_head no_mem_stripes; /* pending stripes, -ENOMEM */
127 struct kmem_cache *io_kc;
128 mempool_t io_pool;
129 struct bio_set bs;
130 mempool_t meta_pool;
132 struct md_thread *reclaim_thread;
133 unsigned long reclaim_target; /* number of space that need to be
140 wait_queue_head_t iounit_wait;
142 struct list_head no_space_stripes; /* pending stripes, log has no space */
143 spinlock_t no_space_stripes_lock;
145 bool need_cache_flush;
148 enum r5c_journal_mode r5c_journal_mode;
151 struct list_head stripe_in_journal_list;
153 spinlock_t stripe_in_journal_lock;
154 atomic_t stripe_in_journal_count;
157 struct work_struct deferred_io_work;
159 struct work_struct disable_writeback_work;
162 spinlock_t tree_lock;
163 struct radix_tree_root big_stripe_tree;