History

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md

Pull MD updates from Shaohua Li: - a raid5 writeback cache feature. The goal is to aggregate writes to make full stripe write and reduce read-modify-write. It's helpful for workload which does sequential write and follows fsync for example. This feature is experimental and off by default right now. - FAILFAST support. This fails IOs to broken raid disks quickly, so can improve latency. It's mainly for DASD storage, but some patches help normal raid array too. - support bad block for raid array with external metadata - AVX2 instruction support for raid6 parity calculation - normalize MD info output - add missing blktrace - other bug fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md: (66 commits) md: separate flags for superblock changes md: MD_RECOVERY_NEEDED is set for mddev->recovery md: takeover should clear unrelated bits md/r5cache: after recovery, increase journal seq by 10000 md/raid5-cache: fix crc in rewrite_data_only_stripes() md/raid5-cache: no recovery is required when create super-block md: fix refcount problem on mddev when stopping array. md/r5cache: do r5c_update_log_state after log recovery md/raid5-cache: adjust the write position of the empty block if no data blocks md/r5cache: run_no_space_stripes() when R5C_LOG_CRITICAL == 0 md/raid5: limit request size according to implementation limits md/raid5-cache: do not need to set STRIPE_PREREAD_ACTIVE repeatedly md/raid5-cache: remove the unnecessary next_cp_seq field from the r5l_log md/raid5-cache: release the stripe_head at the appropriate location md/raid5-cache: use ring add to prevent overflow md/raid5-cache: remove unnecessary function parameters raid5-cache: don't set STRIPE_R5C_PARTIAL_STRIPE flag while load stripe into cache raid5-cache: add another check conditon before replaying one stripe md/r5cache: enable IRQs on error path md/r5cache: handle alloc_page failure ...

Linus Torvalds committed 9 years ago

Commit 2a4c32e2 parents b9f98bd 207377316 files · +3429 −1262Browse files

Showing the changes to include/uapi/linux (1 of 16 files). Show all

Unified · Split

include/uapi/linux/raid/md_p.h+6−1
@@ -84,6 +84,10 @@ · 83 unmodified lines
84#define MD_DISK_CANDIDATE 5 /* disk is added as spare (local) until confirmed84#define MD_DISK_CANDIDATE 5 /* disk is added as spare (local) until confirmed
85 * For clustered enviroments only.85 * For clustered enviroments only.
86 */86 */
87#define MD_DISK_FAILFAST 10 /* Send REQ_FAILFAST if there are multiple
88 * devices available - and don't try to
89 * correct read errors.
90 */
87 91
88#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.92#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
89 * read requests will only be sent here in93 * read requests will only be sent here in
@@ -265,8 +269,9 @@ struct mdp_superblock_1 { · 175 unmodified lines
265 __le32 dev_number; /* permanent identifier of this device - not role in raid */269 __le32 dev_number; /* permanent identifier of this device - not role in raid */
266 __le32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */270 __le32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */
267 __u8 device_uuid[16]; /* user-space setable, ignored by kernel */271 __u8 device_uuid[16]; /* user-space setable, ignored by kernel */
268 __u8 devflags; /* per-device flags. Only one defined...*/272 __u8 devflags; /* per-device flags. Only two defined...*/
269#define WriteMostly1 1 /* mask for writemostly flag in above */273#define WriteMostly1 1 /* mask for writemostly flag in above */
274#define FailFast1 2 /* Should avoid retries and fixups and just fail */
270 /* Bad block log. If there are any bad blocks the feature flag is set.275 /* Bad block log. If there are any bad blocks the feature flag is set.
271 * If offset and size are non-zero, that space is reserved and available276 * If offset and size are non-zero, that space is reserved and available
272 */277 */