From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Novotny Subject: Re: [PATCH] qemu-xen-3.4-testing: Fix read-only image file handling Date: Mon, 07 Jun 2010 15:14:40 +0200 Message-ID: <4C0CF0C0.8070607@redhat.com> References: <4C07B678.3020304@redhat.com> <4C07B853.3000307@redhat.com> <4C08C96F.2080400@redhat.com> <20100604104250.GL17817@reaktio.net> <4C0CD631.4030006@redhat.com> <20100607114538.GC17817@reaktio.net> <4C0CEFC0.5040506@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <4C0CEFC0.5040506@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com, Keir Fraser , =?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= List-Id: xen-devel@lists.xenproject.org On 06/07/2010 03:10 PM, Michal Novotny wrote: > On 06/07/2010 01:45 PM, Pasi K=E4rkk=E4inen wrote: >> On Mon, Jun 07, 2010 at 01:21:21PM +0200, Michal Novotny wrote: >>> Well, I'm still having some tools issues, mainly: >>> >>> Error: (111, 'Connection refused') >>> >>> Any guess what may be going wrong? Booted grub entry: >>> >>> title Red Hat Enterprise Linux Server (2.6.31.13-xen HV, nolog) >>> root (hd1,6) >>> kernel /xen-4.1-unstable.gz >>> module /vmlinuz-2.6.31.13 ro root=3DLABEL=3D/rhel2 rhgb quie= t=20 >>> selinux=3D0 >>> module /initrd-2.6.31.13.img >>> >>> Mount is having `xenfs on /proc/xen type xenfs (rw)`. Any guess what=20 >>> may >>> be going wrong? >>> >> >> Do you have xen-evtchn driver loaded? >> >> >> -- Pasi >> > > Well, no, and doesn't seem to be installed/probed: > > # modprobe xen-evtchn > # lsmod | grep xen-evtchn > # > > So there's the problem :( > > Michal Oh, I'm taking this back since I found out the module is not xen-evtchn=20 but xen_evtchn. So yeah, I'm having it loaded in the memory now.=20 However, when I do `service xend restart` the same error is here: [2010-06-07 17:14:09 5635] INFO (SrvDaemon:227) Xend stopped due to=20 signal 15. [2010-06-07 17:14:09 6295] INFO (SrvDaemon:332) Xend Daemon started [2010-06-07 17:14:09 6295] INFO (SrvDaemon:336) Xend changeset: Thu May=20 20 17:22:15 2010 +0100 21442:a7fcf2e35d32. [2010-06-07 17:14:09 6295] DEBUG (tcp:96) Listening on :8002 [2010-06-07 17:14:09 6295] INFO (XendNetwork:114) Not recreating missing=20 unmanaged network eth0 [2010-06-07 17:14:09 6295] INFO (XendNetwork:114) Not recreating missing=20 unmanaged network eth2 [2010-06-07 17:14:09 6295] INFO (XendNetwork:114) Not recreating missing=20 unmanaged network br0 [2010-06-07 17:14:09 6295] INFO (XendNetwork:114) Not recreating missing=20 unmanaged network xenbr0 [2010-06-07 17:14:10 6295] DEBUG (XendCPUPool:747) recreate_active_pools [2010-06-07 17:14:10 6295] ERROR (SrvDaemon:349) Exception starting xend=20 ((111, 'Connection refused')) Traceback (most recent call last): File=20 "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvDaemon.py", line=20 341, in run servers =3D SrvServer.create() File=20 "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvServer.py", line=20 258, in create root.putChild('xend', SrvRoot()) File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvRoot.py",=20 line 40, in __init__ self.get(name) File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 84,=20 in get val =3D val.getobj() File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 52,=20 in getobj self.obj =3D klassobj() File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvNode.py",=20 line 30, in __init__ self.xn =3D XendNode.instance() File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line=20 1176, in instance inst =3D XendNode() File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line=20 163, in __init__ self._init_cpu_pools() File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line=20 377, in _init_cpu_pools XendCPUPool.recreate_active_pools() File "/usr/lib64/python2.4/site-packages/xen/xend/XendCPUPool.py",=20 line 754, in recreate_active_pools uuid =3D xstransact.Read(path, 'uuid') File=20 "/usr/lib64/python2.4/site-packages/xen/xend/xenstore/xstransact.py",=20 line 307, in Read return complete(path, lambda t: t.read(*args)) File=20 "/usr/lib64/python2.4/site-packages/xen/xend/xenstore/xstransact.py",=20 line 361, in complete t =3D xstransact(path) File=20 "/usr/lib64/python2.4/site-packages/xen/xend/xenstore/xstransact.py",=20 line 29, in __init__ self.transaction =3D xshandle().transaction_start() File=20 "/usr/lib64/python2.4/site-packages/xen/xend/xenstore/xsutil.py", line=20 18, in xshandle xs_handle =3D xen.lowlevel.xs.xs() Error: (111, 'Connection refused') Any ideas? Michal > >>> Thanks, >>> Michal >>> >>> On 06/04/2010 12:42 PM, Pasi K=E4rkk=E4inen wrote: >>>> On Fri, Jun 04, 2010 at 11:37:51AM +0200, Michal Novotny wrote: >>>> >>>>> Oh, one more thing I've discovered now. Since the codebase for >>>>> qemu-xen-unstable is looking the same like for=20 >>>>> qemu-xen-3.4-testing and >>>>> the patch is applicable without any modifications it could be worki= ng >>>>> for xen-4.1 unstable as well, unfortunately I was not able to boot=20 >>>>> PVOPS >>>>> kernel since it always ends up in kernel panic, maybe the missing >>>>> drivers or something like that. >>>>> >>>>> >>>> What kernel version? Did you use xen/stable-2.6.32.x branch from=20 >>>> xen.git? >>>> >>>> See my example .config files from: >>>> http://wiki.xensource.com/xenwiki/XenParavirtOps in the=20 >>>> "troubleshooting" section. >>>> >>>> Works on F12/F13 dom0's. >>>> >>>> For el5 dom0 you might need these: >>>> http://wiki.xensource.com/xenwiki/2.6.18-to-2.6.31-and-higher >>>> >>>> aka >>>> CONFIG_SYSFS_DEPRECATED=3Dy >>>> CONFIG_SYSFS_DEPRECATED_V2=3Dy >>>> >>>> Also atm I think you need CONFIG_XEN_XENBUS_FRONTEND=3Dy in the .con= fig >>>> because of the recently added pv-on-hvm drivers (you'll get build=20 >>>> failure without that option), >>>> so you need XEN_PCIDEV_FRONTEND XEN_BLKDEV_FRONTEND or=20 >>>> XEN_NETDEV_FRONTEND or XEN_FBDEV_FRONTEND needs to be =3Dy. >>>> >>>> -- Pasi >>>> >>>> >>>> >>>>> On 06/03/2010 04:12 PM, Michal Novotny wrote: >>>>> >>>>>> Oh, just one more thing that should be mentioned: >>>>>> >>>>>> When you want to mount an image that is set as read-only in the=20 >>>>>> domain >>>>>> configuration file but you omit to set mode to read-only it result= s >>>>>> into I/O errors when processing the requests. Remounting as=20 >>>>>> read-only >>>>>> or unmounting and remounting using the `mount /dev/*=20 >>>>>> /path/to/mount -o >>>>>> ro` shall do the mounting the correct way, i.e. with no I/O=20 >>>>>> errors, so >>>>>> make sure you mount those disks as read-only otherwise you can be >>>>>> getting errors like: >>>>>> >>>>>> end_request: I/O error, dev hdb, sector 52 >>>>>> >>>>>> Buffer I/O error on device hdb1, logical block 1 >>>>>> >>>>>> lost page write due to I/O error on hdb1 >>>>>> >>>>>> >>>>>> and for IDE devices you'll be getting several additional DeviceFau= lt >>>>>> errors since mounting the device read-write (default setting) writ= es >>>>>> some data onto a disk at the mount-time. >>>>>> >>>>>> Michal >>>>>> >>>>>> On 06/03/2010 04:04 PM, Michal Novotny wrote: >>>>>> >>>>>>> [Well, I did send an e-mail to the list using git but it's not he= re >>>>>>> so I'm forwarding the e-mail to the list for sure:] >>>>>>> >>>>>>> Hi, >>>>>>> this is the patch for qemu-xen-3.4-testing to fix the read-only >>>>>>> image file handling since the image file was always treated as >>>>>>> read-write which means that all the HVM guests were able to >>>>>>> write to all the disk images available in domain configuration >>>>>>> file no matter what the mode of the image was defined. This >>>>>>> patch fixes this functionality to honor the O_RDONLY in the >>>>>>> BDRV_O_ACCESS flag in block.c and also fixes the IDE and SCSI >>>>>>> interfaces that uses it. >>>>>>> >>>>>>> It's been tested on RHEL-5 with xen-3.4-testing version of >>>>>>> upstream xen with xen-3.4-testing qemu implementation. >>>>>>> >>>>>>> For SCSI devices the DATA PROTECT request sense has been added >>>>>>> as found at:=20 >>>>>>> http://en.wikipedia.org/wiki/SCSI_Request_Sense_Command >>>>>>> >>>>>>> file no matter what the mode of the image was defined. This >>>>>>> patch fixes this functionality to honor the O_RDONLY in the >>>>>>> BDRV_O_ACCESS flag in block.c and also fixes the IDE and SCSI >>>>>>> interfaces that uses it. >>>>>>> >>>>>>> It's been tested on RHEL-5 with xen-3.4-testing version of >>>>>>> Michal >>>>>>> >>>>>>> Signed-off-by: Michal Novotny >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Xen-devel mailing list >>>>>>> Xen-devel@lists.xensource.com >>>>>>> http://lists.xensource.com/xen-devel >>>>>>> >>>>>> >>>>> --=20 >>>>> Michal Novotny, RHCE >>>>> Virtualization Team (xen userspace), Red Hat >>>>> >>>>> >>>>> _______________________________________________ >>>>> Xen-devel mailing list >>>>> Xen-devel@lists.xensource.com >>>>> http://lists.xensource.com/xen-devel >>>>> >>> >>> --=20 >>> Michal Novotny, RHCE >>> Virtualization Team (xen userspace), Red Hat >>> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel > > --=20 Michal Novotny, RHCE Virtualization Team (xen userspace), Red Hat