On Fri, 6 Nov 2015, Sami Tolvanen wrote: > On Fri, Nov 06, 2015 at 10:05:24PM +0100, Zdenek Kabelac wrote: > > So how do you want to correctly 'restore' missing full sectors > > with just 0.8% data overhead ?? > > We use interleaving. Each byte in a 4k block is part of a different > Reed-Solomon block, which means an entire lost 4k data block looks like a > single error. When we also spread the bytes that form a single Reed-Solomon > block across the partition, we end up being able to correct several > megabytes of consecutive corrupted blocks with very small space overhead. > > Sami But the patch doesn't do any correction in case of I/O error - it just returns the bio with I/O error. BTW. the function verity_fec_alloc_buffers does vzalloc and GFP_KERNEL kmalloc inside I/O handling code - that shouldn't be done - you should preallocate the data structures when the device is loaded. Mikulas -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel