From: "Richard W.M. Jones" <rjones@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] virtio-scsi limits
Date: Tue, 18 Apr 2017 18:17:03 +0100 [thread overview]
Message-ID: <20170418171703.GY30620@redhat.com> (raw)
In-Reply-To: <9ae9d913-2516-72dc-adaf-cdd0f082c486@redhat.com>
On Tue, Apr 18, 2017 at 05:30:52PM +0200, Paolo Bonzini wrote:
> > When I changed libguestfs to use LUNs instead of targets (target=0
> > unit=i), I got a peculiar bug. It looks like there is some kind of
> > race when enumerating the device, where /sys is populated before the
> > device is actually available.
>
> That's not _too_ surprising because devtmpfs processes creation/deletion
> requests asynchronously.
I had a bit of a look into this, and I don't think this can be right.
At this point we're running inside the initramfs environment, where
/dev is a rootfs (a special case of either ramfs or tmpfs).
Would it still be the case that a single process that does mknod
followed by mount could not see the effect of the mknod?
The mount error (EINVAL) should indicate an invalid superblock rather
than a missing inode (if you believe the documentation, so that may be
wrong).
The sequence of events (happening in a single init process) is as
described below:
> > https://github.com/libguestfs/supermin/blob/master/init/init.c#L176
> >
> > * fp = fopen ("/sys/block/sdab/dev", "r") succeeds at line 181
> >
> > * we read major:minor from fp at line 230
> >
> > * we mknod ("/dev/root",...) at line 245
> >
> > * we mount ("/dev/root", "/root", "ext2"...) at line 262, which fails with
> > EINVAL
> >
> > * shortly after that, kernel messages indicate that sdab has been
> > attached.
Thanks,
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
next prev parent reply other threads:[~2017-04-18 17:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-18 15:24 [Qemu-devel] virtio-scsi limits Richard W.M. Jones
2017-04-18 15:30 ` Paolo Bonzini
2017-04-18 17:17 ` Richard W.M. Jones [this message]
2017-04-18 20:28 ` Richard W.M. Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170418171703.GY30620@redhat.com \
--to=rjones@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.