|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 8/8] raisin: RFC Add blktap2 as an external tree
On 04/17/2015 11:50 AM, Stefano Stabellini wrote:
> On Thu, 16 Apr 2015, George Dunlap wrote:
>> Until we start hosting the blktap repo on xenbits, use the one from github.
>>
>> Also, we need to pass in the directories where to find the
>> libblktapctl headers in the Xen build.
>>
>> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
>> ---
>> Note: For now use the "upstream" XenServer repo.
>>
>> Also, to build with this you need the patches to allow Xen to use an
>> out-of-tree blktap,
>> which can be found here:
>>
>> git://xenbits.xen.org/people/gdunlap/xen.git out/blktap25/rfc-v2
>>
>> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
>> ---
>> components/blktap | 47 +++++++++++++++++++++++++++++++++++++++++++++++
>> components/series | 1 +
>> components/xen | 5 +++++
>> defconfig | 9 ++++++---
>> 4 files changed, 59 insertions(+), 3 deletions(-)
>> create mode 100644 components/blktap
>>
>> diff --git a/components/blktap b/components/blktap
>> new file mode 100644
>> index 0000000..3062b2a
>> --- /dev/null
>> +++ b/components/blktap
>> @@ -0,0 +1,47 @@
>> +#!/usr/bin/env bash
>> +
>> +function blktap_check_package() {
>> + local DEP_Debian_common="build-essential autoconf libtool tar
>> libaio-dev uuid-dev openssl-dev"
>> + local DEP_Debian_x86_32="$DEP_Debian_common"
>> + local DEP_Debian_x86_64="$DEP_Debian_x86_32"
>> + local DEP_Debian_arm32="$DEP_Debian_common"
>> + local DEP_Debian_arm64="$DEP_Debian_arm32"
>> +
>> + local DEP_Fedora_common="make gcc python-devel autoconf libtool tar
>> file libaio-devel libuuid-devel openssl-devel"
>> + local DEP_Fedora_x86_32="$DEP_Fedora_common"
>> + local DEP_Fedora_x86_64="$DEP_Fedora_x86_32"
>> +
>> + local DEP_CentOS_common="make gcc python-devel autoconf libtool tar
>> file libaio-devel libuuid-devel openssl-devel"
>
> DEP_CentOS_common="$DEP_Fedora_common"
>
>
>> + local DEP_CentOS_x86_32="$DEP_Redhat_common"
>> + local DEP_CentOS_x86_64="$DEP_Redhat_x86_32"
>
> Redhat? I don't know no Redhat.
Sorry, artifacts from a previous version of the patch...
>> + fi
>> +}
>> +
>> +function blktap_configure() {
>> + :
>> +}
>> +
>> +function blktap_unconfigure() {
>> + :
>> +}
>
> Much better than my echo. Maybe submit a patch to replace useless echo
> in configure and unconfigure functions with :
I can put it on my to-do list, but it may be a while before it reaches
the top. :-)
>> diff --git a/components/series b/components/series
>> index 8f614f0..953800a 100644
>> --- a/components/series
>> +++ b/components/series
>> @@ -1,3 +1,4 @@
>> +blktap
>> xen
>
> I take this is on purpose so that blktap is built before xen
Yes, as Xen has to link against the libraries.
>> qemu
>> grub
>> diff --git a/components/xen b/components/xen
>> index f2e1254..03a1970 100644
>> --- a/components/xen
>> +++ b/components/xen
>> @@ -29,7 +29,12 @@ function xen_build() {
>> cd "$BASEDIR"
>> git-checkout $XEN_URL $XEN_REVISION xen-dir
>> cd xen-dir
>> + CFLAGS="-I$INST_DIR/$PREFIX/include/blktap
>> -I$INST_DIR/$PREFIX/include/vhd" \
>> + LDFLAGS="-L$INST_DIR/$PREFIX/lib -Wl,-rpath-link=$INST_DIR/$PREFIX/lib"
>> \
>> ./configure --prefix=$PREFIX
>> --with-system-qemu=/usr/bin/qemu-system-i386
>> + CFLAGS_libblktapctl="-I$INST_DIR/$PREFIX/include/blktap
>> -I$INST_DIR/$PREFIX/include/vhd" \
>> + LDLIBS_libblktapctl="-L$INST_DIR/$PREFIX/lib -lblktapctl" \
>> + SHLIB_libblktapctl="-Wl,-rpath-link=$INST_DIR/$PREFIX/lib" \
>
> Does this work even if blktap is actually disabled in the raisin build?
> If so, then fine.
I don't think I've tested it, but in theory yes it should work. If
blktap support isn't specified, the patch series I submitted to
xen-unstable will automatically enable blktap if found and disable it if
not found. So if you have a clean raisin repo and just build the xen
component, it should build it without blktap.
(With my patches, if you specify --enable-blktap and it can't find it,
config will throw an error. But we're not enabling it.)
> Actually I think that the xen configure script should be able to figure
> out whether it can pick up blktap from an external location
> automatically with the CFLAGS and LDFLAGS you set.
Actually, what would be better is if you could just set
"-I$INST_DIR/$PREFIX/include" and "-L$INST_DIR/$PREFIX/lib" and be done
with it. But the blktap2 headers are broken at the moment: they're
placed in subdirectories on install time that don't reflect the
directory structure used when building, so if you don't specify both
subdirectories explicitly, it won't compile.
That's something I plan to fix, but it may take a bit to get back to it.
-George
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |