[linux-lvm] Data corruption on large, multi-device filesystem

joe at eiler.net joe at eiler.net
Fri Jan 21 02:38:41 UTC 2005


Thanks, I'll give it(the patch you sent) a try and let you know what I see.

When you say "chunk size" what lvcreate arg does that map to? the stripe
size(-I) or the chunk size(-c) that goes along with snapshots?

Joe

Quoting Alasdair G Kergon <agk at redhat.com>:

> On Wed, Jan 19, 2005 at 02:14:43PM -0800, joe at eiler.net wrote:
> > I don't see any corruption on the files unless I specify the -i option to
> > lvcreate.
>
> That's a useful observation: different code gets run when -i is used, and
> I've taken a look and there are two 32-bit limits in that code.
>
> One appears to be intentional for performance reasons and can be worked
> around by increasing the chunk size (default 64K), though it really should
> detect when the limit is exceeded and tell you!
>
> The other unintentional limit (which is the one affecting you I think)
> leads to wrap-around at striped device offsets beyond ~2^32 sectors
> i.e. 2^39 bytes into a PV, or ~2^40 bytes (2TB) into an LV in your
> case of 2 stripes.  The fix for that is a basic exercise in C.
> [Ref.  stripe_map() in drivers/md/dm-stripe.c]
>
> Alasdair
> --
> agk at redhat.com
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>






More information about the linux-lvm mailing list