[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120323031532.GP27051@google.com>
Date: Thu, 22 Mar 2012 20:15:32 -0700
From: Mandeep Singh Baines <msb@...omium.org>
To: Mikulas Patocka <mpatocka@...hat.com>
Cc: Mandeep Singh Baines <msb@...omium.org>,
device-mapper development <dm-devel@...hat.com>,
Steffen Klassert <steffen.klassert@...unet.com>,
Will Drewry <wad@...omium.org>, linux-kernel@...r.kernel.org,
Elly Jones <ellyjones@...omium.org>,
Olof Johansson <olofj@...omium.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Alasdair G Kergon <agk@...hat.com>,
Milan Broz <mbroz@...hat.com>, taysom@...omium.org
Subject: Re: [dm-devel] [PATCH] dm: remake of the verity target
Mikulas Patocka (mpatocka@...hat.com) wrote:
>
>
> On Thu, 22 Mar 2012, Mandeep Singh Baines wrote:
>
> > Mikulas Patocka (mpatocka@...hat.com) wrote:
> > >
> > > This is improved patch that supports both the old format and the new
> > > format. I checked that it is interoperable with with the old Google
> > > userspace tool and with the original Google kernel driver.
> > >
> >
> > Thanks much for doing this:)
> >
> > This looks good but would a prepend/append flag be better?
>
> It does more than changing prepend/append salt. I changed alignment in the
> new format so that it doesn't have to use a multiply instruction.
>
> In the old format, if digest size is not a power of two, all digests are
> placed first and the rest of the block is padded with zeros. In the new
> format, each digest is padded with zeros to a power of two.
>
> For example, when using sha1, the old format padding looks like this:
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb
> bbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccdddddddd
> dddddddddddddddddddddddddddddddd00000000000000000000000000000000
> 0000000000000000000000000000000000000000000000000000000000000000
>
> ... and the new format padding looks like this:
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000
> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb000000000000000000000000
> cccccccccccccccccccccccccccccccccccccccc000000000000000000000000
> dddddddddddddddddddddddddddddddddddddddd000000000000000000000000
>
> The version "0" (first argument in the target line) actually means the old
> style padding and the salt is hashed after the data. The version "1" means
> new style padding and the salt is hashed before the data. If someone comes
> with another format, we can use version "2" for it, etc.
>
+cc taysom
Makes sense.
Signed-off-by: Mandeep Singh Baines <msb@...omium.org>
Speaking of V2, one idea a colleague of mine (taysom) just had was to
drop the power of 2 alignment. For SHA-1, this shrinks the tree by 37.5 %.
You have to replace the shifts with divides but the reduction in I/O
more than makes up. For the different levels, you could pre-calculate
the divisor.
Regards,
Mandeep
> Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists