Thread (27 messages) 27 messages, 2 authors, 2012-04-18

Re: [md PATCH 00/24] Allow bitmaps to be resized.

From: Jack Wang <hidden>
Date: 2012-04-18 02:07:37

Dear Neil,

Thanks for your good works.
One query about current grow supporting  status:

as the raid wiki show : the RAID level 1/4/5/6 array can be grown . In
my test I can grow raid 1 add disk or remove disk through mdadm grow,
but change level from 1 to 4 or 5 will fail. the simaliar command work
for change level between 4/5/6, change 1 to 10 fail too.

My kernel version is 3.2.15. mdadm version 3.2.3.


Jack

2012/4/17 NeilBrown [off-list ref]:
The following series has just been added to my for-next queue
and so should be in 3.5.
 git://neil.brown.name/md for-next
 git://github.com/neilbrown/linux.git md/for-next

It allows md to resize a bitmap on an active array.  This
means that arrays can now be reshaped without first removing the
bitmap.  The bitmap is resized in-place.

As always: review and testing would be greatly appreciated.

NeilBrown

---

NeilBrown (24):
     md/raid5: Allow reshape while a bitmap is present.
     md/raid10: resize bitmap when required during reshape.
     md: allow array to be resized while bitmap is present.
     md/bitmap: make sure reshape request are reflected in superblock.
     md/bitmap: add bitmap_resize function to allow bitmap resizing.
     md/bitmap: use DIV_ROUND_UP instead of open-code
     md/bitmap: create a 'struct bitmap_counts' substructure of 'struct bitmap'
     md/bitmap: make bitmap bitops atomic.
     md/bitmap: make _page_attr bitops atomic.
     md/bitmap: merge bitmap_file_unmap and bitmap_file_put.
     md/bitmap: remove async freeing of bitmap file.
     md/bitmap: convert some spin_lock_irqsave to spin_lock_irq
     md/bitmap: use set_bit, test_bit, etc for operation on bitmap->flags.
     md/bitmap: remove single-bit manipulation on sb->state
     md/bitmap: remove bitmap_mask_state
     md/bitmap: move storage allocation from bitmap_load to bitmap_create.
     md/bitmap: separate bitmap file allocation to its own function.
     md/bitmap: store bytes in file rather than just in last page.
     md/bitmap: move some fields of 'struct bitmap' into a 'storage' substruct.
     md/bitmap: change *_page_attr() to take a page number, not a page.
     md/bitmap: centralise allocation of bitmap file pages.
     md/bitmap: allow a bitmap with no backing storage.
     md/bitmap: add new 'space' attribute for bitmaps.
     md/bitmap: disentangle two different 'pending' flags.


 drivers/md/bitmap.c | 1089 +++++++++++++++++++++++++++++----------------------
 drivers/md/bitmap.h |   58 ++-
 drivers/md/md.c     |   53 ++
 drivers/md/md.h     |    3
 drivers/md/raid1.c  |   11 -
 drivers/md/raid10.c |   47 +-
 drivers/md/raid5.c  |   20 +
 7 files changed, 754 insertions(+), 527 deletions(-)

--
Signature

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help