[dm-crypt] Kernel BUG (fs/bio.c:1499) when copying more files to an encrypted device

Mandeep Singh Baines msb at chromium.org
Wed Jan 25 19:20:27 CET 2012


Luzipher McLeod (luziphermcleod at yahoo.ie) wrote:
> Hi Mandeep,
> 
> Thanks fpr your quick answer. So, what can be done about this ? Should I try to apply that patch you linked to ? (but I guess a patch from 2007 won't apply cleanly ...)
> 

Hi Luzipher,

I wouldn't apply the patch directly. Just copy bio_multi_split (might
need to do some forward porting) and then modify linear_make_request to
use bio_multi_split instead of bio_split.

But I'm not really an expert on this particular code. I'm hoping someone
else will confirm that this is in fact the bug and not a side effect of
something else. Its seem reasonble that you could get a bio that is
multi-page and falls on a boundary (spans two or more devices). So I
suspect this is the bug.

Regards,
Mandeep

> Regards,
> Luzipher
> 
> 
> 
> --- On Wed, 25/1/12, Mandeep Singh Baines <msb at chromium.org> wrote:
> 
> > From: Mandeep Singh Baines <msb at chromium.org>
> > Subject: Re: [dm-crypt] Kernel BUG (fs/bio.c:1499) when copying more files to an encrypted device
> > To: "Luzipher McLeod" <luziphermcleod at yahoo.ie>
> > Cc: dm-crypt at saout.de, "NeilBrown" <neilb at suse.de>
> > Date: Wednesday, 25 January, 2012, 2:14
> > Luzipher McLeod (luziphermcleod at yahoo.ie)
> > wrote:
> > > Hi :-)
> > > 
> > > A few days ago I encountered a kernel bug while copying
> > files to an encrypted filesystem. The specific stack for the
> > filesystem is: btrfs-on-crypt-on-mdraid. Vasts amounts of
> > data copied without problems (about 6.3TB with 1.1 TB
> > remaining), but when copying a certain directory, the kernel
> > bug surfaces. I repeatedly deleted the affected directory
> > and tried to re-copy it, but it always fails at the same
> > point (or close to that). More recent test showed that I
> > could copy a few more files to the filesystem to a different
> > directory, but it very quickly failed there as well (a few
> > megabytes later).
> > > After talking to the btrfs devs on freenode (as btrfs
> > is the most experimental thing in the stack, they came to
> > the conclusion that it's most probably the crypto layer.
> > > 
> > > Some details:
> > > gentoo kernel 3.2.1 (custom config and ubuntu config)
> > > mdraid: linear, 4 disks, each 2TB (total 8TB)
> > > crypt: setup via cryptsetup -c aes-xts-plain64 -h plain
> > -s 512 -d - create tempraid /dev/md/tempraid_lin
> > > 
> > > I'd appreciate any help with this and would be happy to
> > test patches or provide more debug info.
> > > 
> > > Thanks and Regards,
> > > Luzipher
> > > 
> > > 
> > > 
> > > 
> > > The kernel bug output retrieved by netconsole (also at
> > http://pastebin.com/sjJy7QE4 ):
> > >     [  294.538422] netconsole:
> > local port 6666
> > >     [  333.423583] SysRq :
> > Changing Loglevel
> > >     [  333.423609] Loglevel
> > set to 9
> > >     [  424.248405]
> > ------------[ cut here ]------------
> > >     [  424.248447] kernel BUG
> > at fs/bio.c:1499!
> > 
> > Hi Luzipher,
> > 
> > Looks like the BUG is because bio_split only works on
> > single-page iovecs.
> > 
> > I see a relevant (old) patch from Neil Brown here:
> > 
> > https://lkml.org/lkml/2007/7/30/496
> > 
> > Regards,
> > Mandeep
> > 
> 


More information about the dm-crypt mailing list