From owner-freebsd-xen@freebsd.org Mon Feb 29 12:09:43 2016 Return-Path: Delivered-To: freebsd-xen@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 318F2AB6900 for ; Mon, 29 Feb 2016 12:09:43 +0000 (UTC) (envelope-from prvs=8606a7394=roger.pau@citrix.com) Received: from SMTP.CITRIX.COM (smtp.citrix.com [66.165.176.89]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "mail.citrix.com", Issuer "Verizon Public SureServer CA G14-SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E9B4A677 for ; Mon, 29 Feb 2016 12:09:42 +0000 (UTC) (envelope-from prvs=8606a7394=roger.pau@citrix.com) X-IronPort-AV: E=Sophos;i="5.22,520,1449532800"; d="scan'208";a="335259277" Subject: Re: Porting the block-iscsi hotplug script To: =?UTF-8?Q?Gustau_P=c3=a9rez?= , FreeBSD XEN References: <553DEB97.5000300@entel.upc.edu> <5540A053.4080409@entel.upc.edu> <5540F3FC.80606@citrix.com> <5541FC8A.8080009@citrix.com> <5542365D.10403@entel.upc.edu> <55423ECD.6000404@citrix.com> <5556F21D.2050005@entel.upc.edu> <555EEFBA.5080902@citrix.com> <555EF542.3090002@citrix.com> <555F9B3F.1000600@entel.upc.edu> <55602512.1090702@citrix.com> <56C6FA2F.8040900@gmail.com> <56CAC8CB.8030107@gmail.com> <56CADEDA.4050007@citrix.com> <56CB0057.1060509@gmail.com> <56CB041E.1020009@citrix.com> <56CB2D90.5080809@gmail.com> <56CB34BA.6060809@citrix.com> <56CC24BD.6050609@gmail.com> <56CC32E5.5010101@citrix.com> <56CC7637.3080408@gmail.com> <56CF5668.6090605@citrix.com> <56D0091F.80408@gmail.com> <56D02863.7040100@citrix.com> <56D03D95.9090509@gmail.com> <56D04E5F.8070901@citrix.com> <56D42A28.8050701@gmail.com> From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Message-ID: <56D434FC.8030905@citrix.com> Date: Mon, 29 Feb 2016 13:09:32 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56D42A28.8050701@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-DLP: MIA2 X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Feb 2016 12:09:43 -0000 El 29/2/16 a les 12:23, Gustau Pérez ha escrit: > > > El 26/02/16 a les 14:08, Roger Pau Monné ha escrit: >> It shouldn't be too hard, as I said the code is already there. The >> only issue I foresee is that you will have to find somewhere to store >> the information about the disk you have locally-attached, so you can >> remove it when the guest is destroyed. > > Hi Roger, > > I applied the hotplug patches to xen-[kernel|tools] and the machine > is stable. However, when I try to create a HVM domU domain with a simple > block script it fails (. As we spoke previously, HVM domains don't support hotplug scripts. Or are you trying to get them to work? (ie: you have performed other changes in order to enable this?) > I have some questions: > > * The arguments of the block script are path and action, am I right? Yes, but keep in mind that 'path' is the xenstore backend path of the device, something like: /local/domain/0/backend/vbd/7/768 > * Do the block scripts for Linux and NetBSD receive the same arguments > as the FreeBSD script? No, sadly each OS has their own way of doing this. For example Linux passes a bunch of extra information using ENV variables, which I would like to avoid since all this information that Linux passes around in the environment can be fetched from xenstore without issues. > * I see the device has a type (phy, file, iscsi) in the definition of > the domain, but I'm not sure how to check its type in the block > script (I can check if the file is a block device or a regular file, > but what about iscsi?, check if the target param is set?) This is confusing, and refers to the backend that's used to handle the disk. In your case backend in always 'phy', which means blkback. The 'phy' backend is the only one that supports hotplug scripts. In the past, some prefixes (like iscsi) where shortcuts for block scripts, so the line: iscsi: Was equivalent to: script=block-iscsi,target= This is not recommended anymore, so just forget about the prefixes. > * Also. I have a domain defined with two disks. In the block script I > try to execute xenstore-ls and I'd expect to see two disks there, > but there's only the first one. I assume this is because the block > script is called for each disk in the domain definition Yes, the block script is called for each disk, the first argument (the xenstore backend path) is going to be different for each invocation. > Finally, I ended having a disk defined in the xenstore > (/var/db/xenstore) which I can't remove. I removed xen-tools and removed > /var/db/xen{store} but it keeps complaining. I'd have expected that the > store was under /var/db/ but perhaps I'm missing something. Weird, you should be able to remove the disk entries in xenstore by using xenstore-rm . Rebooting the host will also completely clear the xenstore database. Can you paste the error message that you are seeing? Roger.