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
8484 #define MD_DISK_CANDIDATE 5 /* disk is added as spare (local) until confirmed
8585 * For clustered enviroments only.
8686 */
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+ */
8791
8892 #define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
8993 * read requests will only be sent here in
@@ -265,8 +269,9 @@ struct mdp_superblock_1 { · 175 unmodified lines
265269 __le32 dev_number; /* permanent identifier of this device - not role in raid */
266270 __le32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */
267271 __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...*/
269273 #define WriteMostly1 1 /* mask for writemostly flag in above */
274+#define FailFast1 2 /* Should avoid retries and fixups and just fail */
270275 /* Bad block log. If there are any bad blocks the feature flag is set.
271276 * If offset and size are non-zero, that space is reserved and available
272277 */