Skip to contentSkip to conversation

Fix #734193: divisibility issues with striped mirrors

PATCH New Petr Rockai 2 participants 3 messages Sep 15, 2011 – Sep 16, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix #734193: divisibility issues with striped mirrors

Hi,

the divisibility requirement in the allocation code is needlessly (and incorrectly) strict, accounting not only for stripe layout but also for mirrors (which do not divide extents among themselves, though). The attached patch should remedy that. Regression test included.

Petr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: lvcreate-striped-mirror.diff
Type: text/x-diff
Size: 3241 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/lvm-devel/attachments/20110915/a62743b3/attachment.bin>
-------------- next part --------------

Signature · 1 line
id' Ash = Ash; id' Dust = Dust; id' _ = undefined
#1 lore raw

PATCH 1/1 Fix #734193: divisibility issues with striped mirrors

Quoted 4 lines · Petr Rockai

the divisibility requirement in the allocation code is needlessly (and incorrectly) strict, accounting not only for stripe layout but also for mirrors (which do not divide extents among themselves, though). The attached patch should remedy that. Regression test included.

The former reason for this line was, I think it still applies
https://bugzilla.redhat.com/show_bug.cgi?id=707779

If so, ack.

Milan

#2 lore raw

PATCH 1/1 Fix #734193: divisibility issues with striped mirrors

Quoted 10 lines · Milan Broz
Quoted 4 lines · Petr Rockai

the divisibility requirement in the allocation code is needlessly (and incorrectly) strict, accounting not only for stripe layout but also for mirrors (which do not divide extents among themselves, though). The attached patch should remedy that. Regression test included.

The former reason for this line was, I think it still applies
https://bugzilla.redhat.com/show_bug.cgi?id=707779

If so, ack.

Yes, it's required that extent count is divisible by stripe count: any other setup would make little sense (since part of the LV would have a different stripe count than the rest, which sounds like a really bad idea, even if the allocator could cope with the request).

The 707779 case is accounted for by the last test in t-lvconvert-mirror, which I think you added. Since it still passes after this patch, I am going ahead and checking it in.

Yours,
Petr

Signature · 1 line
id' Ash = Ash; id' Dust = Dust; id' _ = undefined