From: John Weekes <lists.xen@nuclearfallout.net>
To: xen-devel@lists.xen.org
Subject: Re: Bugs in xl that affect stubdom+tapdisk2, and others
Date: Thu, 15 Aug 2013 14:13:02 -0700 [thread overview]
Message-ID: <520D445E.2010104@nuclearfallout.net> (raw)
In-Reply-To: <509C19DE.6010108@nuclearfallout.net>
[-- Attachment #1.1: Type: text/plain, Size: 6175 bytes --]
I took a look at the below concerns again in 4.3. The summarized
concerns were:
1. Multiple domains not being able to use the same read-only images.
2. "xl destroy" giving error messages when tapdisk2 and stub domains are
used.
3. "xl uptime" not working without an argument.
4. Minor typos in xl output.
5. A mistaken warning printed by "xl sched-credit".
6. Build issues related to /usr/lib being used even though ./configure
was run with "--libdir=/usr/lib64"
The current situation:
1. Worked around: It appears that tapdisk2 has been disabled for
read-only images, with qdisk used instead, presumably to work around
this concern.
2. Still an issue: These errors still appear. But, since tapdisk2 is no
longer used for CD images, they are mostly harmless now.
3. Still an issue: I am submitting a patch to address this.
4. Still an issue: I am submitting a patch to address this.
5. Fixed: I am no longer seeing the warning.
6. Still an issue: But, not a major one.
I also noticed a newly-introduced bug:
7. rtc_timeoffset is not accepting negative values. Attempting to use a
negative value causes an error to be printed, with domain creation halted.
I am submitting a patch separately to address #7 along with #3 and #4.
I've tested the patch and it works properly for me.
-John
On 11/8/2012 12:45 PM, John Weekes wrote:
> I'm having these problems when using "xl" in the latest c/s of 4.2
> (25912:651d965ee2c0):
>
> - It's not allowing multiple domains to use the same images, at least
> under tapdisk2. If I start one domain using an image (a read-only
> CD-ROM image, for instance), then start another, I can see in "tap-ctl
> list" that only one of the domains actually receives the proper
> access. The other either never gets it, or it is disconnected after
> it's created -- I can't readily tell which.
>
> - When I use "xl destroy" on a domain that also has an associated
> stubdom, "xl" tries to destroy the tapdisk2 entries for both the
> domain and its stubdomain, resulting in errors like these:
>
> # xl destroy testvds4
> libxl: error: libxl_blktap2.c:73:libxl__device_destroy_tapdisk: Unable
> to find type aio disk /servers/isos/DummyCD.iso: No such file or
> directory
> libxl: error: libxl_blktap2.c:73:libxl__device_destroy_tapdisk: Unable
> to find type aio disk /servers/customers/testvds4.img: No such file or
> directory
> libxl: error: libxl_blktap2.c:73:libxl__device_destroy_tapdisk: Unable
> to find type aio disk /servers/isos/DummyCD-2.iso: No such file or
> directory
> libxl: error: libxl.c:1466:devices_destroy_cb: libxl__devices_destroy
> failed for 19
> libxl: error: libxl.c:1466:devices_destroy_cb: libxl__devices_destroy
> failed for 18
>
> If I'm reading the source correctly, it seems as though the various
> destruction functions aren't passing down the domid and ultimately
> libxl__device_destroy_tapdisk is calling tap_ctl_find, which just
> globally matches based on the type and name of the image, causing the
> errors on destroy. I was trying to find a quick fix, but it looks like
> any proper one will require querying xenstore for the tapdisk entries
> specific to the domain, and I'm not immediately able to make that
> change, so I've personally just switched back to using "xm" for the
> time being. (I don't know if this relates to the first bug re:
> multiple domains using the same image files).
>
> Another, much more minor, bug in "xl" that I've found is that "xl
> uptime" will not run without an argument; it is supposed to just show
> all uptimes in this circumstance. This is an easy one-liner fix of
> modifying line:
>
> tools/libxl/xl_cmdimpl.c:5749: while ((opt = def_getopt(argc, argv,
> "s", "uptime", 1)) != -1) {
>
> into this:
>
> tools/libxl/xl_cmdimpl.c:5749: while ((opt = def_getopt(argc, argv,
> "s", "uptime", 0)) != -1) {
>
> Also, a couple of small typos in "xl" --
>
> libxl.c:556: LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "geting
> domain info list");
> libxl.c:575: LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "geting
> domain info list");
> libxl.c:678: LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "geting
> domain info list");
> libxl.c:1393: LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant
> domain %d", domid);
>
> Also, running "xl sched-credit" always gives me an error, even though
> it seems to work. Maybe it should be silent if cpu pools aren't
> defined? Maybe it's supposed to be creating a second cpupool for the
> second CPU in this system, and isn't?
>
> # xl sched-credit
> libxl: error: libxl.c:596:cpupool_info: failed to get info for cpupool1
> : No such file or directory
> Cpupool Pool-0: tslice=5ms ratelimit=500us
> Name ID Weight Cap
> Domain-0 0 65535 0
>
> As an additional note about 4.2 -- this isn't an "xl" issue, but
> rather a build problem -- even though I use "./configure
> --libdir=/usr/lib64", the build is still creating a
> "dist/install/usr/lib" directory, and because of this, running
> ./install.sh nukes my system's "/usr/lib" -> "/usr/lib64" softlink
> (which in turn causes all sorts of other problems until it's
> corrected). Files that are being put in that tree:
>
> xen-4.2-testing.hg # find dist/install/usr/lib
> dist/install/usr/lib
> dist/install/usr/lib/xen
> dist/install/usr/lib/xen/boot
> dist/install/usr/lib/xen/boot/xenstore-stubdom.gz
> dist/install/usr/lib/xen/boot/ioemu-stubdom.gz
> dist/install/usr/lib/xen/boot/pv-grub-x86_64.gz
> dist/install/usr/lib/xen/boot/hvmloader
> dist/install/usr/lib/xen/boot/pv-grub-x86_32.gz
> dist/install/usr/lib/xen/bin
> dist/install/usr/lib/xen/bin/stubdom-dm
> dist/install/usr/lib/xen/bin/qemu-io
> dist/install/usr/lib/xen/bin/qemu-nbd
> dist/install/usr/lib/xen/bin/qemu-img
> dist/install/usr/lib/xen/bin/xenpaging
> dist/install/usr/lib/xen/bin/qemu-dm
> dist/install/usr/lib/xen/bin/qemu-system-i386
> dist/install/usr/lib/xen/bin/qemu-ga
> dist/install/usr/lib/xen/bin/stubdompath.sh
>
> -John
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
[-- Attachment #1.2: Type: text/html, Size: 8528 bytes --]
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
prev parent reply other threads:[~2013-08-15 21:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-08 20:45 Bugs in xl that affect stubdom+tapdisk2, and others John Weekes
2012-11-09 13:29 ` Ian Campbell
2012-11-09 19:55 ` Matt Wilson
2012-11-12 9:49 ` Ian Campbell
2013-08-15 21:13 ` John Weekes [this message]
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=520D445E.2010104@nuclearfallout.net \
--to=lists.xen@nuclearfallout.net \
--cc=xen-devel@lists.xen.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).