Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753798AbbKGP3N (ORCPT ); Sat, 7 Nov 2015 10:29:13 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49295 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753717AbbKGP3H (ORCPT ); Sat, 7 Nov 2015 10:29:07 -0500 Date: Sat, 7 Nov 2015 10:29:05 -0500 (EST) From: Mikulas Patocka X-X-Sender: mpatocka@file01.intranet.prod.int.rdu2.redhat.com To: Sami Tolvanen cc: device-mapper development , Will Drewry , Kees Cook , Mike Snitzer , Mandeep Baines , linux-kernel@vger.kernel.org, Mark Salyzyn Subject: Re: [dm-devel] [PATCH 0/4] dm verity: add support for error correction In-Reply-To: <20151106212338.GA19557@google.com> Message-ID: References: <1446688954-29589-1-git-send-email-samitolvanen@google.com> <563B066C.6050202@redhat.com> <20151106190634.GA2813@google.com> <563CFD6F.4040009@redhat.com> <20151106202750.GA11849@google.com> <563D1614.5010501@redhat.com> <20151106212338.GA19557@google.com> User-Agent: Alpine 2.02 (LRH 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1160 Lines: 29 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/