All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.