All of lore.kernel.org
 help / color / mirror / Atom feed
* Creating a vm with a non-existent /dev/mapper/ tap2 device effectively hangs dom0 system
@ 2011-07-27 23:29 Nathan March
  2011-07-28 19:00 ` Nathan March
  0 siblings, 1 reply; 5+ messages in thread
From: Nathan March @ 2011-07-27 23:29 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com

Have an interesting one here, originally found on xen 4.1.0 but just 
upgraded to xen 4.1.1 and it's still here.

Creating a VM with a tap2 device pointed at /dev/mapper/something, when 
that device doesn't exist, causes the tapdisk2 process to go into D mode 
and also manages to take out any process that queries it.

For example, I have /dev/mapper/nathanxenuk1 as a valid disk and 
/dev/mapper/test which doesn't exist. Creating using libvirt:

<opt type="xen">
<name>nathanxenuk1</name>
<devices>
<disk type="file">
<driver name="tap2" cache="default" type="aio" />
<source file="/dev/mapper/nathanxenuk1" />
<target dev="xvda" />
</disk>
<disk type="file">
<driver name="tap2" cache="default" type="aio" />
<source file="/dev/mapper/test" />
<target dev="xvdc" />
</disk>
<interface type="bridge">
<mac address="00:16:3E:10:00:01" />
<script path="/etc/xen/scripts/vif-bridge" />
<source bridge="vlan91" />
</interface>
</devices>
<memory>4194304</memory>
<os>
<bootloader>/usr/bin/pygrub</bootloader>
<type>linux</type>
</os>
<vcpu>12</vcpu>
</opt>

Results in:
libvirt error code: 11, message: POST operation failed: xend_post: error 
from xen daemon: (xend.err "Error creating domain: ('create', 
'-aaio:/dev/mapper/test') failed (512  )")

Normal so far and what I'd expect. At this point however doing anything 
that queries that tapdisk2 pid in /proc/ will fully hang.

Doing an "strace -f ps auxf &" (Backgrounding so I can keep my console), 
it ends here and I can find the pid causing it:

open("/proc/11327/status", O_RDONLY)    = 6
read(6, "Name:\ttapdisk2\nState:\tD (disk sl"..., 1023) = 706
close(6)                                = 0
open("/proc/11327/cmdline", O_RDONLY)   = 6
read(6,

Trying to do almost anything against /proc/11327/ results in a hang, but 
I can see the FD's ok:

ukxen2 ~ # cd /proc/11327
ukxen2 11327 # ls -al &
[2] 12144

ukxen2 11327 # cd fd
ukxen2 fd # ls -al &
[3] 12211
ukxen2 fd # total 0
dr-x------ 2 root root  0 Jul 27 16:24 .
dr-xr-xr-x 7 root root  0 Jul 27 16:16 ..
lrwx------ 1 root root 64 Jul 27 16:27 0 -> /dev/null
lrwx------ 1 root root 64 Jul 27 16:27 1 -> /dev/null
lrwx------ 1 root root 64 Jul 27 16:27 2 -> /dev/null
lrwx------ 1 root root 64 Jul 27 16:27 3 -> socket:[39528]
lrwx------ 1 root root 64 Jul 27 16:27 4 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 Jul 27 16:27 5 -> socket:[39531]
lrwx------ 1 root root 64 Jul 27 16:27 6 -> socket:[40730]
[3]+  Done                    ls --color=auto -al
ukxen2 fd #

And /proc/11327/status works:

ukxen2 11327 # cat status &
[3] 12236
ukxen2 11327 # Name:    tapdisk2
State:  D (disk sleep)
Tgid:   11327
Pid:    11327
PPid:   1
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 64
Groups:
VmPeak:    23056 kB
VmSize:    21644 kB
VmLck:     21640 kB
VmHWM:      3848 kB
VmRSS:      3232 kB
VmData:      364 kB
VmStk:        88 kB
VmExe:       224 kB
VmLib:      2460 kB
VmPTE:        64 kB
Threads:        1
SigQ:   2/6081
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000181000242
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: ffffffffffffffff
CapBnd: ffffffffffffffff
Cpus_allowed:   1
Cpus_allowed_list:      0
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        4155
nonvoluntary_ctxt_switches:     3559

Even doing an ls or trying to use tab completion in /proc/11327/ will 
result in your proc going into D mode.

Any existing VM's stay running fine and I can manage them remotely via 
libvirt, so only the dom0 is affected.

Any ideas? =)

Thanks,
Nathan

-- 
Nathan March<nathan@gt.net>
Gossamer Threads Inc. http://www.gossamer-threads.com/
Tel: (604) 687-5804 Fax: (604) 687-5806

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-07-29 16:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-27 23:29 Creating a vm with a non-existent /dev/mapper/ tap2 device effectively hangs dom0 system Nathan March
2011-07-28 19:00 ` Nathan March
2011-07-28 22:13   ` Nathan March
2011-07-29 16:23   ` Konrad Rzeszutek Wilk
2011-07-29 16:26     ` Nathan March

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.