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 --- |