Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #58906

Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter

Path csiph.com!fu-berlin.de!bofh.it!news.nic.it!robomod
From Raphael Hertzog <hertzog@debian.org>
Newsgroups linux.debian.bugs.dist, linux.debian.kernel
Subject Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter
Date Mon, 11 Sep 2017 21:50:01 +0200
Message-ID <uoCSt-7IE-1@gated-at.bofh.it> (permalink)
References <uhEcH-1bd-31@gated-at.bofh.it> <un24F-71m-3@gated-at.bofh.it> <un2Ho-7f3-1@gated-at.bofh.it> <un6rE-1na-13@gated-at.bofh.it> <un7nI-22L-7@gated-at.bofh.it> <uoCfM-7sQ-21@gated-at.bofh.it> <uhEcH-1bd-31@gated-at.bofh.it> <uoCfM-7sQ-21@gated-at.bofh.it>
X-Mailbox-Line From debian-bugs-dist-request@lists.debian.org Mon Sep 11 19:48:13 2017
Old-Return-Path <debbugs@buxtehude.debian.org>
X-Spam-Flag NO
X-Spam-Score -4.201
Reply-To Raphael Hertzog <hertzog@debian.org>, 872999@bugs.debian.org
Resent-To debian-bugs-dist@lists.debian.org
Resent-Cc VMDebootstrap List <vmdebootstrap-devel@lists.alioth.debian.org>
X-Debian-Pr-Message followup 872999
X-Debian-Pr-Package vmdebootstrap
X-Debian-Pr-Source vmdebootstrap
X-Spam-Bayes score:0.0000 Tokens: new, 9; hammy, 150; neutral, 107; spammy, 0. spammytokens: hammytokens:0.000-+--H*u:NeoMutt, 0.000-+--H*UA:NeoMutt, 0.000-+--fwiw, 0.000-+--H*F:U*hertzog, 0.000-+--FWIW
MIME-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Disposition inline
Content-Transfer-Encoding 8bit
User-Agent NeoMutt/20170609 (1.8.3)
X-Virus-Status Clean
X-Debian-Message from BTS
X-Mailing-List <debian-bugs-dist@lists.debian.org> archive/latest/1403935
List-ID <debian-bugs-dist.lists.debian.org>
List-URL <https://lists.debian.org/debian-bugs-dist/>
Approved robomod@news.nic.it
Lines 48
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Cc 872999@bugs.debian.org, GRUB Maintainers <pkg-grub-devel@lists.alioth.debian.org>, pkg-systemd-maintainers@lists.alioth.debian.org, debian-kernel@lists.debian.org
X-Original-Date Mon, 11 Sep 2017 21:47:24 +0200
X-Original-Message-ID <20170911194724.2yfmp72p5dllizrw@home.ouaza.com>
X-Original-References <150349587661.18171.15144837513912101786.reportbug@x260-buxy.home.ouaza.com> <20170907101647.3a7mfggzpchben3l@home.ouaza.com> <20170907105308.663bkmeate73qngq@home.ouaza.com> <1504795792.2713.10.camel@decadent.org.uk> <20170907155341.mmveb7x6bqs2cjhm@home.ouaza.com> <1505156681.2825.24.camel@decadent.org.uk> <150349587661.18171.15144837513912101786.reportbug@x260-buxy.home.ouaza.com> <1505156681.2825.24.camel@decadent.org.uk>
Xref csiph.com linux.debian.bugs.dist:850035 linux.debian.kernel:58906

Cross-posted to 2 groups.

Show key headers only | View raw


Hi Ben,

On Mon, 11 Sep 2017, Ben Hutchings wrote:
> The answer seems to be that udev doesn't just listen for device events,
> but also uses inotify to watch block devices.  But inotify operates on
> inodes, not the underlying devices.  The chroot has a separate /dev
> directory and inodes, so writing to a block device through one of those
> inodes doesn't trigger the inotify watch.
> 
> If I bind-mount /dev into the chroot before running mkfs there, udev
> does see the change events because mkfs opens the inodes that it's
> watching.

This is strange because schroot does bind-mount /dev in the default
profile that I used:
$ grep profile /etc/schroot/chroot.d/sid-amd64
profile=default
profile=default
$ grep /dev /etc/schroot/default/fstab
/dev            /dev            none    rw,bind         0       0
/dev/pts        /dev/pts        none    rw,bind         0       0
/dev/shm       /dev/shm        none    rw,bind         0       0

(and a stat call inside the chroot and outside of it returns the same inode
number and the same device number)

> So this is a limitation of udev and of the kernel's inotify interface,
> but I don't think it's a bug in either of them.  vmdebootstrap should
> not assume that udev will notice changes made by mkfs unless they are
> operating on the same /dev filesystem (and even then, it should use
> 'udevadm settle' to avoid races).

Assuming your analysis is right, what would be the right course of action?

Calling "udevadm trigger <block-device>" after the mkfs call?

FWIW, this udevadm trigger call does work (as in the missing symlink gets
created)... and it works when called outside of the chroot but also when called
within the chroot.

And thanks for the investigation you made!

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: https://www.freexian.com/services/debian-lts.html
Learn to master Debian: https://debian-handbook.info/get/

Back to linux.debian.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Raphael Hertzog <hertzog@debian.org> - 2017-09-07 12:20 +0200
  Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Raphael Hertzog <hertzog@debian.org> - 2017-09-07 13:00 +0200
    Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Ben Hutchings <ben@decadent.org.uk> - 2017-09-07 17:00 +0200
      Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Raphael Hertzog <hertzog@debian.org> - 2017-09-07 18:00 +0200
        Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Ben Hutchings <ben@decadent.org.uk> - 2017-09-11 21:10 +0200
          Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Raphael Hertzog <hertzog@debian.org> - 2017-09-11 21:50 +0200
            Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Ben Hutchings <ben@decadent.org.uk> - 2017-09-12 01:20 +0200
              Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Raphael Hertzog <hertzog@debian.org> - 2017-09-12 09:40 +0200
  Bug#872999: qemu image built by vmdebootstrap is unbootable due to bad root=/dev/mapper/loop0p1 kernel parameter Raphael Hertzog <hertzog@debian.org> - 2017-09-07 16:00 +0200

csiph-web