Hi Linus, It's been a busy cycle for md - lots of fun stuff here.. if you like this king of thing :-) Thanks, NeilBrown The following changes since commit b0d634d5683f0b186b242ce6a4f3b041edb8b956: md/raid10: fix transcription error in calc_sectors conversion. (2012-05-19 09:01:13 +1000) are available in the git repository at: git://neil.brown.name/md/ tags/md-3.5 for you to fetch changes up to 1dff2b87a34a1ac1d1898ea109bf97ed396aca53: md/bitmap: record the space available for the bitmap in the superblock. (2012-05-22 13:55:34 +1000) ---------------------------------------------------------------- md updates for 3.5 Main features: - RAID10 arrays can be reshapes - adding and removing devices and changing chunks (not 'far' array though) - allow RAID5 arrays to be reshaped with a backup file (not tested yet, but the priciple works fine for RAID10). - arrays can be reshaped while a bitmap is present - you no longer need to remove it first - SSSE3 support for RAID6 syndrome calculations and of course a number of minor fixes etc. ---------------------------------------------------------------- Jim Kukunas (7): crypto: wait for a full jiffy in do_xor_speed crypto: disable preemption while benchmarking RAID5 xor checksumming raid5: add AVX optimized RAID5 checksumming lib/raid6: fix test program build lib/raid6: Add SSSE3 optimized recovery functions lib/raid6: update test program for recovery functions lib/raid6: cleanup gen_syndrome function selection Jonathan Brassow (4): DM RAID: Set recovery flags on resume DM RAID: Record and handle missing devices DM RAID: Use md_error() in place of simply setting Faulty bit MD RAID1: Further conditionalize 'fullsync' NeilBrown (39): md: allow a reshape operation to be reversed. md: add possibility to change data-offset for devices. md/raid5: Use correct data_offset for all IO. md/raid5: allow for change in data_offset while managing a reshape. md/raid10: collect some geometry fields into a dedicated structure. md: teach sync_page_io about new_data_offset. md: use resync_max_sectors for reshape as well as resync. md/raid10: Introduce 'prev' geometry to support reshape. md/raid10: split out interpretation of layout to separate function. md/raid10: add reshape support md: dm-raid should call helper function to clear rdev. md: move freeing of badblocks.page into md_rdev_clear md/bitmap: disentangle two different 'pending' flags. md/bitmap: add new 'space' attribute for bitmaps. md/bitmap: allow a bitmap with no backing storage. md/bitmap: centralise allocation of bitmap file pages. md/bitmap: change *_page_attr() to take a page number, not a page. md/bitmap: move some fields of 'struct bitmap' into a 'storage' substruct. md/bitmap: store bytes in file rather than just in last page. md/bitmap: separate bitmap file allocation to its own function. md/bitmap: move storage allocation from bitmap_load to bitmap_create. md/bitmap: remove bitmap_mask_state md/bitmap: remove single-bit manipulation on sb->state md/bitmap: use set_bit, test_bit, etc for operation on bitmap->flags. md/bitmap: convert some spin_lock_irqsave to spin_lock_irq md/bitmap: remove async freeing of bitmap file. md/bitmap: merge bitmap_file_unmap and bitmap_file_put. md/bitmap: make _page_attr bitops atomic. md/bitmap: make bitmap bitops atomic. md/bitmap: create a 'struct bitmap_counts' substructure of 'struct bitmap' md/bitmap: use DIV_ROUND_UP instead of open-code md/bitmap: add bitmap_resize function to allow bitmap resizing. md/bitmap: make sure reshape request are reflected in superblock. md: allow array to be resized while bitmap is present. md/raid10: resize bitmap when required during reshape. md/raid5: Allow reshape while a bitmap is present. md/raid5: improve removal of extra devices after reshape. md/raid10: Remove extras after reshape to smaller number of devices. md/bitmap: record the space available for the bitmap in the superblock. Shaohua Li (3): md: using GFP_NOIO to allocate bio for flush request raid5: remove unused variables raid5: support sync request Yuanhan Liu (1): md: check the return of mddev_find() majianpeng (2): md/raid1: allow fix_read_error to read from recovering device. md/raid10: Fix memleak in r10buf_pool_alloc arch/x86/Makefile | 5 +- arch/x86/include/asm/xor_32.h | 6 +- arch/x86/include/asm/xor_64.h | 8 +- arch/x86/include/asm/xor_avx.h | 214 +++++++ crypto/xor.c | 13 +- drivers/md/bitmap.c | 1100 +++++++++++++++++++--------------- drivers/md/bitmap.h | 60 +- drivers/md/dm-raid.c | 22 +- drivers/md/md.c | 370 ++++++++++-- drivers/md/md.h | 12 +- drivers/md/raid1.c | 22 +- drivers/md/raid10.c | 1281 +++++++++++++++++++++++++++++++++++----- drivers/md/raid10.h | 34 +- drivers/md/raid5.c | 252 +++++--- drivers/md/raid5.h | 7 + include/linux/raid/md_p.h | 15 +- include/linux/raid/pq.h | 18 +- lib/raid6/Makefile | 2 +- lib/raid6/algos.c | 127 ++-- lib/raid6/mktables.c | 25 + lib/raid6/recov.c | 15 +- lib/raid6/recov_ssse3.c | 335 +++++++++++ lib/raid6/test/Makefile | 2 +- lib/raid6/test/test.c | 32 +- lib/raid6/x86.h | 15 +- 25 files changed, 3124 insertions(+), 868 deletions(-) create mode 100644 arch/x86/include/asm/xor_avx.h create mode 100644 lib/raid6/recov_ssse3.c
Attachment:
signature.asc
Description: PGP signature