[linux-lvm] Data corruption on large, multi-device filesystem
jbe at webde-ag.de
Fri Jan 28 09:23:17 UTC 2005
since the two patches (stripe_width and sector_t cast) didnt help,
I started to put printk in the dm-stripe code.
At a certain point stripe_map() starts to get called with zero data
(eg bio->bi_sector = 0 or 2^32, 2^31 ). This lead me to put some debugging
into dm.c especially into max_io_len() where an inline function dm_round_up()
is used. Interpreting my printk's this funktion doesnt work well with
offsets larger then 2^32. I did some (very) ugly hack to calculate the
boundary in that case and it seems that the error is gone (though the
full check takes a few days).
Maybe someone with insight on what should happen in dm.c can have
a look at max_io_len and the inlined function?
Nur tote Fische schwimmen mit dem Strom
More information about the linux-lvm