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

Reply via email to