raid5.h (ff875738edd44e3bc892d378deacc50bccc9d70c) raid5.h (3418d036c81dcb604b7c7c71b209d5890a8418aa)
1#ifndef _RAID5_H
2#define _RAID5_H
3
4#include <linux/raid/xor.h>
5#include <linux/dmaengine.h>
6
7/*
8 *

--- 210 unchanged lines hidden (view full) ---

219 spinlock_t stripe_lock;
220 int cpu;
221 struct r5worker_group *group;
222
223 struct stripe_head *batch_head; /* protected by stripe lock */
224 spinlock_t batch_lock; /* only header's lock is useful */
225 struct list_head batch_list; /* protected by head's batch lock*/
226
1#ifndef _RAID5_H
2#define _RAID5_H
3
4#include <linux/raid/xor.h>
5#include <linux/dmaengine.h>
6
7/*
8 *

--- 210 unchanged lines hidden (view full) ---

219 spinlock_t stripe_lock;
220 int cpu;
221 struct r5worker_group *group;
222
223 struct stripe_head *batch_head; /* protected by stripe lock */
224 spinlock_t batch_lock; /* only header's lock is useful */
225 struct list_head batch_list; /* protected by head's batch lock*/
226
227 struct r5l_io_unit *log_io;
227 union {
228 struct r5l_io_unit *log_io;
229 struct ppl_io_unit *ppl_io;
230 };
231
228 struct list_head log_list;
229 sector_t log_start; /* first meta block on the journal */
230 struct list_head r5c; /* for r5c_cache->stripe_in_journal */
232 struct list_head log_list;
233 sector_t log_start; /* first meta block on the journal */
234 struct list_head r5c; /* for r5c_cache->stripe_in_journal */
235
236 struct page *ppl_page; /* partial parity of this stripe */
231 /**
232 * struct stripe_operations
233 * @target - STRIPE_OP_COMPUTE_BLK target
234 * @target2 - 2nd compute target in the raid6 case
235 * @zero_sum_result - P and Q verification flags
236 * @request - async service request flags for raid_run_ops
237 */
238 struct stripe_operations {

--- 156 unchanged lines hidden (view full) ---

395 */
396enum {
397 STRIPE_OP_BIOFILL,
398 STRIPE_OP_COMPUTE_BLK,
399 STRIPE_OP_PREXOR,
400 STRIPE_OP_BIODRAIN,
401 STRIPE_OP_RECONSTRUCT,
402 STRIPE_OP_CHECK,
237 /**
238 * struct stripe_operations
239 * @target - STRIPE_OP_COMPUTE_BLK target
240 * @target2 - 2nd compute target in the raid6 case
241 * @zero_sum_result - P and Q verification flags
242 * @request - async service request flags for raid_run_ops
243 */
244 struct stripe_operations {

--- 156 unchanged lines hidden (view full) ---

401 */
402enum {
403 STRIPE_OP_BIOFILL,
404 STRIPE_OP_COMPUTE_BLK,
405 STRIPE_OP_PREXOR,
406 STRIPE_OP_BIODRAIN,
407 STRIPE_OP_RECONSTRUCT,
408 STRIPE_OP_CHECK,
409 STRIPE_OP_PARTIAL_PARITY,
403};
404
405/*
406 * RAID parity calculation preferences
407 */
408enum {
409 PARITY_DISABLE_RMW = 0,
410 PARITY_ENABLE_RMW,

--- 280 unchanged lines hidden (view full) ---

691 * the new thread here until we fully activate the array.
692 */
693 struct md_thread *thread;
694 struct list_head temp_inactive_list[NR_STRIPE_HASH_LOCKS];
695 struct r5worker_group *worker_groups;
696 int group_cnt;
697 int worker_cnt_per_group;
698 struct r5l_log *log;
410};
411
412/*
413 * RAID parity calculation preferences
414 */
415enum {
416 PARITY_DISABLE_RMW = 0,
417 PARITY_ENABLE_RMW,

--- 280 unchanged lines hidden (view full) ---

698 * the new thread here until we fully activate the array.
699 */
700 struct md_thread *thread;
701 struct list_head temp_inactive_list[NR_STRIPE_HASH_LOCKS];
702 struct r5worker_group *worker_groups;
703 int group_cnt;
704 int worker_cnt_per_group;
705 struct r5l_log *log;
706 void *log_private;
699
700 spinlock_t pending_bios_lock;
701 bool batch_bio_dispatch;
702 struct r5pending_data *pending_data;
703 struct list_head free_list;
704 struct list_head pending_list;
705 int pending_data_cnt;
706 struct r5pending_data *next_pending_data;

--- 76 unchanged lines hidden ---
707
708 spinlock_t pending_bios_lock;
709 bool batch_bio_dispatch;
710 struct r5pending_data *pending_data;
711 struct list_head free_list;
712 struct list_head pending_list;
713 int pending_data_cnt;
714 struct r5pending_data *next_pending_data;

--- 76 unchanged lines hidden ---