On Fri, Oct 7, 2011 at 3:47 PM, Fabio Erculiani <[email protected]> wrote: > I located the issue inside our git HEAD btrfs-progs patch. > New code that does silly things. > > There is /dev/loop0 which has livecd.squashfs bound to it. That file > gets mounted before entering the chroot (at early initramfs stages). > Unfortunately, the genkernel architecture mounts the cdrom device to > /newroot/mnt/cdrom/livecd.squashfs which doesn't actually exist inside > the boot chroot. > btrfs-progs' is_same_loop_file() tries to match a device partition > (/dev/sda2) with loop devices configured (/dev/loop0) to see if they > actually point to the same block file. > Fact is, /dev/loop0 is resolved to /newroot/mnt/cdrom/livecd.squashfs, > and is_same_blk_file() fails miserably trying to intersect /dev/sda2 > with /newroot/mnt/cdrom/livecd.squashfs returning -ENOENT which should > be actually ignored (instead of promply returned to caller as it is in > the code right now). >
For reference, here's a link to the original commit to btrfs-progs that was the source for this change: http://www.mail-archive.com/[email protected]/msg03492.html
