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

Jens Beyer jbe at webde-ag.de
Fri Jan 28 09:23:17 UTC 2005


Hi,

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?

Jens

-- 
Nur tote Fische schwimmen mit dem Strom




More information about the linux-lvm mailing list