xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Zhenzhong Duan <zhenzhong.duan@oracle.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>,
	Dan Magenheimer <dan.magenheimer@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Feng Jin <joe.jin@oracle.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: Is: Contention in block script when doing guest saving. Was:Re: an issue with 'xm save'
Date: Fri, 28 Sep 2012 22:46:03 +0800	[thread overview]
Message-ID: <5065B82B.8080003@oracle.com> (raw)
In-Reply-To: <20581.45245.846208.289785@mariner.uk.xensource.com>

[-- Attachment #1: Type: text/plain, Size: 1170 bytes --]

On 2012-09-28 22:14, Ian Jackson wrote:
> Konrad Rzeszutek Wilk writes ("Is: Contention in block script when doing guest saving. Was:Re: [Xen-devel] an issue with 'xm save'"):
>> On Fri, Sep 28, 2012 at 06:34:51PM +0800, Zhenzhong Duan wrote:
>>> After replace locking.sh with OVM's, it worked.
>>> But xen-tools evolved to use flock based locking currently. We can't
>>> revert back.
>>> It seems changeset 25595:497e2fe49455 bring the issue.
>>> Finally, I came with a small patch that workaround the issue.
>> Ian, any thoughts on how this can be fixed properly? The locking
>> is quite heavy and causes two scripts that do deal with blocks
>> to spin for a long time.
> The algorithm is not supposed to spin.  If it spins there is a bug, I
> think.
>
> Can you show me a transcript of the spinning happening with "set -x"
> in force ?
Hi Ian,
Attachment is part of xen-hotplug.log that will show the spin.
Original file is nearly 7G big. I fetch first 1000 lines.

Below is steps I did:
1. delete xen-hotplug.log
2. reboot dom0
3. add "set -x" to head of block script.
4.create first PV guest
5. save guest
6. get first 1000 lines from xen-hotplug.log

thanks
zduan

[-- Attachment #2: xen-hotplug.log --]
[-- Type: text/plain, Size: 32861 bytes --]

[root@zhenzhong1 tmp]# head -n 1000 /var/log/xen/xen-hotplug.log
+++ export PATH=/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
+++ PATH=/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
+++ export LANG=POSIX
+++ LANG=POSIX
++++ set
++++ grep '^LC_'
++++ cut -d= -f1
+++ unset
+++ trap sigerr ERR
+++ log debug add XENBUS_PATH=backend/vbd/1/51712
+++ local level=debug
+++ shift
+++ logger -p daemon.debug -- /etc/xen/scripts/block: add XENBUS_PATH=backend/vbd/1/51712
++ findCommand add
++ for arg in '"$@"'
++ expr index add =
++ command=add
++ return
++ '[' add '!=' add ']'
++ XENBUS_PATH=backend/vbd/1/51712
++ xenstore_read_default backend/vbd/1/51712/type MISSING
++ xenstore-read backend/vbd/1/51712/type
+ t=file
+ case "$command" in
++ xenstore_read_default backend/vbd/1/51712/physical-device MISSING
++ xenstore-read backend/vbd/1/51712/physical-device
++ echo MISSING
+ phys=MISSING
+ '[' MISSING '!=' MISSING ']'
+ '[' -n file ']'
++ xenstore_read backend/vbd/1/51712/params
+++ xenstore-read backend/vbd/1/51712/params
++ local v=/mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
++ '[' /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img '!=' '' ']'
++ echo /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ p=/mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
++ xenstore_read backend/vbd/1/51712/mode
+++ xenstore-read backend/vbd/1/51712/mode
++ local v=w
++ '[' w '!=' '' ']'
++ echo w
+ mode=w
++ xenstore_read backend/vbd/1/51712/frontend-id
+++ xenstore-read backend/vbd/1/51712/frontend-id
++ local v=1
++ '[' 1 '!=' '' ']'
++ echo 1
+ FRONTEND_ID=1
++ xenstore_read_default /local/domain/1/vm unknown
++ xenstore-read /local/domain/1/vm
+ FRONTEND_UUID=/vm/cc02077f-d327-cdf2-4876-91bb7ece8cc8
+ case $t in
++ readlink -f /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ file=/mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ test -f /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
++ canonicalise_mode w
++ local mode=w
++ expr index w w
++ expr index w '!'
++ echo w
+ mode=w
+ claim_lock block
+ mkdir -p /var/run/xen-hotplug
+ _setlockfd block
+ local i
+ (( i = 0 ))
+ (( i < 0 ))
+ _lockdict[$i]=block
+ let _lockfd=200+i
+ _lockfile=/var/run/xen-hotplug/block
+ local rightfile
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=y
+ '[' xy = xy ']'
+ break
++ xenstore_read_default backend/vbd/1/51712/state unknown
++ xenstore-read backend/vbd/1/51712/state
+ xenbus_state=2
+ '[' 2 '!=' 2 ']'
+ '[' w = w ']'
+ stat /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img -c %A
+ grep -q w
+ '[' xw '!=' 'x!' ']'
++ stat -c %i /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ inode=835587
++ stat -c %D /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ dev=806
+ '[' -z 835587 ']'
+ '[' -z 806 ']'
++ losetup -a
++ sed -n -e 's@^\([^:]\+\)\(:[[:blank:]]\[0*806\]:835587[[:blank:]](.*)\)@\1@p'
+ shared_list=
++ losetup -f
+ loopdev=/dev/loop0
+ '[' /dev/loop0 = '' ']'
+ LANG=C
+ losetup -h
+ grep read-only
+ roflag=-w
+ roflag=
+ roflag=
+ do_or_die losetup /dev/loop0 /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ losetup /dev/loop0 /mnt/sda6/OVM_OL5U7_X86_64_PVM_10GB/System.img
+ xenstore_write backend/vbd/1/51712/node /dev/loop0
+ _xenstore_write backend/vbd/1/51712/node /dev/loop0
+ log debug 'Writing backend/vbd/1/51712/node' '/dev/loop0 to xenstore.'
+ local level=debug
+ shift
+ logger -p daemon.debug -- /etc/xen/scripts/block: 'Writing backend/vbd/1/51712/node' '/dev/loop0 to xenstore.'
+ xenstore-write backend/vbd/1/51712/node /dev/loop0
+ write_dev /dev/loop0
+ local mm
++ device_major_minor /dev/loop0
++ stat -L -c %t:%T /dev/loop0
+ mm=7:0
+ '[' -z 7:0 ']'
+ xenstore_write backend/vbd/1/51712/physical-device 7:0
+ _xenstore_write backend/vbd/1/51712/physical-device 7:0
+ log debug 'Writing backend/vbd/1/51712/physical-device' '7:0 to xenstore.'
+ local level=debug
+ shift
+ logger -p daemon.debug -- /etc/xen/scripts/block: 'Writing backend/vbd/1/51712/physical-device' '7:0 to xenstore.'
+ xenstore-write backend/vbd/1/51712/physical-device 7:0
+ success
+ xenstore_write backend/vbd/1/51712/hotplug-status connected
+ _xenstore_write backend/vbd/1/51712/hotplug-status connected
+ log debug 'Writing backend/vbd/1/51712/hotplug-status' 'connected to xenstore.'
+ local level=debug
+ shift
+ logger -p daemon.debug -- /etc/xen/scripts/block: 'Writing backend/vbd/1/51712/hotplug-status' 'connected to xenstore.'
+ xenstore-write backend/vbd/1/51712/hotplug-status connected
+ release_lock block
+ _setlockfd block
+ local i
+ (( i = 0 ))
+ (( i < 5 ))
+ '[' -z block -o block = block ']'
+ break
+ _lockdict[$i]=block
+ let _lockfd=200+i
+ _lockfile=/var/run/xen-hotplug/block
+ rm /var/run/xen-hotplug/block
+ exit 0
+++ export PATH=/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
+++ PATH=/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
+++ export LANG=POSIX
+++ LANG=POSIX
++++ cut -d= -f1
++++ grep '^LC_'
++++ set
+++ unset
+++ trap sigerr ERR
+++ log debug remove XENBUS_PATH=backend/vbd/1/51712
+++ local level=debug
+++ shift
+++ logger -p daemon.debug -- /etc/xen/scripts/block: remove XENBUS_PATH=backend/vbd/1/51712
++ findCommand remove
++ for arg in '"$@"'
++ expr index remove =
++ command=remove
++ return
++ '[' remove '!=' add ']'
++ '[' remove '!=' remove ']'
++ XENBUS_PATH=backend/vbd/1/51712
++ xenstore_read_default backend/vbd/1/51712/type MISSING
++ xenstore-read backend/vbd/1/51712/type
+ t=file
+ case "$command" in
+ case $t in
+ claim_lock block
+ mkdir -p /var/run/xen-hotplug
+ _setlockfd block
+ local i
+ (( i = 0 ))
+ (( i < 0 ))
+ _lockdict[$i]=block
+ let _lockfd=200+i
+ _lockfile=/var/run/xen-hotplug/block
+ local rightfile
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
            print "y\n" if $fd_inum eq $file_inum;
                             ' /var/run/xen-hotplug/block
+ rightfile=
+ '[' x = xy ']'
+ true
+ eval 'exec 200>>/var/run/xen-hotplug/block'
++ exec
+ flock -x 200
++ perl -e '
            open STDIN, "<&200" or die $!;
            my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
            my $file_inum = (stat $ARGV[0])[1];
[root@zhenzhong1 tmp]#

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2012-09-28 14:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-21  9:41 an issue with 'xm save' Zhenzhong Duan
2012-09-21 14:34 ` Konrad Rzeszutek Wilk
2012-09-26  8:48   ` Zhenzhong Duan
2012-09-26 12:35     ` Konrad Rzeszutek Wilk
2012-09-27  5:58       ` Zhenzhong Duan
2012-09-27 11:59         ` Konrad Rzeszutek Wilk
2012-09-28 10:34           ` Zhenzhong Duan
2012-09-28 14:01             ` Is: Contention in block script when doing guest saving. Was:Re: " Konrad Rzeszutek Wilk
2012-09-28 14:14               ` Ian Jackson
2012-09-28 14:46                 ` Zhenzhong Duan [this message]
2012-10-02 14:59                   ` Ian Jackson
2012-10-09  8:53                     ` DuanZhenzhong

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=5065B82B.8080003@oracle.com \
    --to=zhenzhong.duan@oracle.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=dan.magenheimer@oracle.com \
    --cc=joe.jin@oracle.com \
    --cc=konrad.wilk@oracle.com \
    --cc=konrad@kernel.org \
    --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).