* [PATCH 0 of 6] dm-userspace xen integration
@ 2006-08-21 20:54 Ryan Grimm
2006-08-22 9:03 ` Christian Limpach
2006-08-22 21:04 ` Dan Smith
0 siblings, 2 replies; 7+ messages in thread
From: Ryan Grimm @ 2006-08-21 20:54 UTC (permalink / raw)
To: Xen Devel; +Cc: Dan Smith
In June, Dan Smith posted a patch to add dm-userspace to the -xen kernel*.
Since then, an io completion notification mechanism for metadata writing has
been added*. The kernel module, along with the the tools, consistently pass
fsstress and dbench tests on both x86_64 and x86_32.
These patches integrate dm-userspace into the xen tree and allow a cow domain
to be created. Hopefully some people can start experimenting with it and we
look forward to hearing some feedback.
Cowd and its associated plugins are a bit rough right now, but they work, and
we plan on smoothing things out in the near future.
This patch is broken up into 6 parts:
[1/6]: A patch to the xen kernel in the patches/ directory. Also the default
config files will build dm_userspace as a module.
[2/6]: Adds the base for cowd, the userspace tool, to the tools directory.
[3/6]: Adds internal libdmu support to cowd
[4/6]: The dscow plugin for cowd
[5/6]: The qcow plugin for cowd
[6/6]: A script to start the dm-userspace backend as well as an xm example
configuration file.
*http://lists.xensource.com/archives/html/xen-devel/2006-06/msg00372.html
*http://lists.xensource.com/archives/html/xen-devel/2006-06/msg00773.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0 of 6] dm-userspace xen integration
2006-08-21 20:54 [PATCH 0 of 6] dm-userspace xen integration Ryan Grimm
@ 2006-08-22 9:03 ` Christian Limpach
2006-08-22 13:40 ` Dan Smith
2006-08-22 16:42 ` Ryan Grimm
2006-08-22 21:04 ` Dan Smith
1 sibling, 2 replies; 7+ messages in thread
From: Christian Limpach @ 2006-08-22 9:03 UTC (permalink / raw)
To: Ryan Grimm; +Cc: Dan Smith, Xen Devel
On 8/21/06, Ryan Grimm <grimm@us.ibm.com> wrote:
> In June, Dan Smith posted a patch to add dm-userspace to the -xen kernel*.
> Since then, an io completion notification mechanism for metadata writing has
> been added*. The kernel module, along with the the tools, consistently pass
> fsstress and dbench tests on both x86_64 and x86_32.
>
> These patches integrate dm-userspace into the xen tree and allow a cow domain
> to be created. Hopefully some people can start experimenting with it and we
> look forward to hearing some feedback.
Has this been posted to the devicemapper list? I think someone
mentioned it had been, could you post a reference to any follow-up
discussion? Is there clear indication that this will be picked up by
devicemapper because I don't think we'll want to have to maintain this
in-tree forever.
> Cowd and its associated plugins are a bit rough right now, but they work, and
> we plan on smoothing things out in the near future.
>
> This patch is broken up into 6 parts:
>
> [1/6]: A patch to the xen kernel in the patches/ directory. Also the default
> config files will build dm_userspace as a module.
>
> [2/6]: Adds the base for cowd, the userspace tool, to the tools directory.
This needs to be changed to fail gracefully if the auto* tools are not
installed.
Is the use of auto* tools absolutely necessary? Could we checkin the
generated files as well?
Also, I think the tools/Makefile could do with a bit of cleanup where
we define %-build, %-install and %-clean targets which do the default
action and then override them with specific actions for ioemu and I
guess cowd.
> [3/6]: Adds internal libdmu support to cowd
Is this there because libdevmapper doesn't support this yet? Is there
any version of libdevmapper which supports this yet?
> [4/6]: The dscow plugin for cowd
>
> [5/6]: The qcow plugin for cowd
>
> [6/6]: A script to start the dm-userspace backend as well as an xm example
> configuration file.
I don't think an extra example config file is needed for a single line
change. Just add the example to the existing config files.
Does this work for qemu domains? If so how, if not, what are your
plans to make it work for qemu domains?
christian
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0 of 6] dm-userspace xen integration
2006-08-22 9:03 ` Christian Limpach
@ 2006-08-22 13:40 ` Dan Smith
2006-08-22 21:11 ` Christian Limpach
2006-08-22 16:42 ` Ryan Grimm
1 sibling, 1 reply; 7+ messages in thread
From: Dan Smith @ 2006-08-22 13:40 UTC (permalink / raw)
To: Christian.Limpach; +Cc: Dan Smith, Ryan Grimm, Xen Devel
[-- Attachment #1.1: Type: text/plain, Size: 1829 bytes --]
CL> Has this been posted to the devicemapper list? I think someone
CL> mentioned it had been, could you post a reference to any follow-up
CL> discussion?
It has been posted to dm-devel, and through a few on-list and (mostly)
off-list mails, the maintainer has expressed interest in getting this
pushed into device-mapper proper soon.
CL> Is there clear indication that this will be picked up by
CL> devicemapper because
Yes. An older version is already in his staging tree, and the latest
version has been sent to him.
CL> I don't think we'll want to have to maintain this in-tree forever.
I strongly agree.
CL> This needs to be changed to fail gracefully if the auto* tools are
CL> not installed. Is the use of auto* tools absolutely necessary?
Since xm-test was accepted with the use of autotools, we did not see
any reason why this wouldn't.
CL> Could we checkin the generated files as well?
I suppose, if that's what you want. It will result in some relatively
large patches of apparent garbage every time we make a change to the
build system.
CL> Is this there because libdevmapper doesn't support this yet? Is
CL> there any version of libdevmapper which supports this yet?
The libdevmapper changes are also being pushed to the device-mapper
maintainer. For now, we are just compiling those directly into cowd
to avoid forcing people to patch their libdevmapper.
CL> Does this work for qemu domains? If so how, if not, what are your
CL> plans to make it work for qemu domains?
I don't see why it would not work. It just exports a block device, so
if a qemu domain can use an LVM or a partition, then this will work.
I can get access to an HVM machine and verify.
--
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms@us.ibm.com
[-- Attachment #1.2: Type: application/pgp-signature, Size: 190 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0 of 6] dm-userspace xen integration
2006-08-22 9:03 ` Christian Limpach
2006-08-22 13:40 ` Dan Smith
@ 2006-08-22 16:42 ` Ryan Grimm
1 sibling, 0 replies; 7+ messages in thread
From: Ryan Grimm @ 2006-08-22 16:42 UTC (permalink / raw)
To: Christian.Limpach; +Cc: Dan Smith, Ryan Grimm, Xen Devel
On Tue, Aug 22, 2006 at 10:03:40AM +0100, Christian Limpach wrote:
> >Cowd and its associated plugins are a bit rough right now, but they work,
> >and
> >we plan on smoothing things out in the near future.
> >
> >This patch is broken up into 6 parts:
> >
> >[1/6]: A patch to the xen kernel in the patches/ directory. Also the
> >default
> >config files will build dm_userspace as a module.
> >
> >[2/6]: Adds the base for cowd, the userspace tool, to the tools directory.
>
> This needs to be changed to fail gracefully if the auto* tools are not
> installed.
> Is the use of auto* tools absolutely necessary? Could we checkin the
> generated files as well?
>
> Also, I think the tools/Makefile could do with a bit of cleanup where
> we define %-build, %-install and %-clean targets which do the default
> action and then override them with specific actions for ioemu and I
> guess cowd.
How about cleaning up the Makefile like this? Then, if we can get our
cowd tool in the tree, we can just add it to the SUBDIRS-y, define our
all, install, and clean, and ensure we exit gracefully.
Signed-off-by: Ryan Grimm <grimm@us.ibm.com>
diff -r 9ebba79efbe9 -r 4c4b0563656d tools/Makefile
--- a/tools/Makefile Mon Aug 21 15:03:02 2006 -0500
+++ b/tools/Makefile Tue Aug 22 11:37:05 2006 -0500
@@ -19,33 +19,35 @@ SUBDIRS-y += libaio
SUBDIRS-y += libaio
SUBDIRS-y += blktap
+ifdef CONFIG_IOEMU
+SUBDIRS-y += ioemu
+export IOEMU_DIR ?= ioemu
+endif
+
# These don't cross-compile
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
SUBDIRS-y += python
SUBDIRS-y += pygrub
endif
-.PHONY: all
+.PHONY: all
all: check
@set -e; for subdir in $(SUBDIRS-y); do \
- $(MAKE) -C $$subdir $@; \
+ $(MAKE) $$subdir-$@; \
done
- $(MAKE) ioemu
-.PHONY: install
+.PHONY: install
install: check
@set -e; for subdir in $(SUBDIRS-y); do \
- $(MAKE) -C $$subdir $@; \
+ $(MAKE) $$subdir-$@; \
done
- $(MAKE) ioemuinstall
$(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
.PHONY: clean
clean: check_clean
@set -e; for subdir in $(SUBDIRS-y); do \
- $(MAKE) -C $$subdir $@; \
+ $(MAKE) $$subdir-$@; \
done
- $(MAKE) ioemuclean
.PHONY: distclean
distclean: clean
@@ -58,16 +60,22 @@ check_clean:
check_clean:
$(MAKE) -C check clean
-.PHONY: ioemu ioemuinstall ioemuclean
-ifdef CONFIG_IOEMU
-export IOEMU_DIR ?= ioemu
-ioemu ioemuinstall:
+.PHONY: %-all
+%-all:
+ $(MAKE) -C $* all
+
+.PHONY: %-install
+%-install:
+ $(MAKE) -C $* install
+
+.PHONY: %-install
+%-clean:
+ $(MAKE) -C $* clean
+
+.PHONY: ioemu ioemu-all ioemu-install ioemu-clean
+ioemu ioemu-all ioemu-install:
[ -f $(IOEMU_DIR)/config-host.mak ] || \
(cd $(IOEMU_DIR) && sh configure --prefix=/usr)
- $(MAKE) -C $(IOEMU_DIR) $(patsubst ioemu%,%,$@)
-ioemuclean:
+ $(MAKE) -C $(IOEMU_DIR) $(patsubst ioemu-%,%,$@)
+ioemu-clean:
$(MAKE) -C $(IOEMU_DIR) distclean
-else
-ioemu ioemuinstall ioemuclean:
-endif
-
>
> >[3/6]: Adds internal libdmu support to cowd
>
> Is this there because libdevmapper doesn't support this yet? Is there
> any version of libdevmapper which supports this yet?
>
> >[4/6]: The dscow plugin for cowd
> >
> >[5/6]: The qcow plugin for cowd
> >
> >[6/6]: A script to start the dm-userspace backend as well as an xm example
> >configuration file.
>
> I don't think an extra example config file is needed for a single line
> change. Just add the example to the existing config files.
>
> Does this work for qemu domains? If so how, if not, what are your
> plans to make it work for qemu domains?
>
> christian
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
--
Thanks,
Ryan Grimm
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0 of 6] dm-userspace xen integration
2006-08-21 20:54 [PATCH 0 of 6] dm-userspace xen integration Ryan Grimm
2006-08-22 9:03 ` Christian Limpach
@ 2006-08-22 21:04 ` Dan Smith
1 sibling, 0 replies; 7+ messages in thread
From: Dan Smith @ 2006-08-22 21:04 UTC (permalink / raw)
To: Xen Developers
[-- Attachment #1.1: Type: text/plain, Size: 519 bytes --]
RG> These patches integrate dm-userspace into the xen tree and allow a
RG> cow domain to be created. Hopefully some people can start
RG> experimenting with it and we look forward to hearing some
RG> feedback.
I would really appreciate it if some people could test these patches
out and report their success/failure on-list. It should be very easy
to test for anyone that builds xen-unstable frequently.
Thanks!
--
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms@us.ibm.com
[-- Attachment #1.2: Type: application/pgp-signature, Size: 190 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0 of 6] dm-userspace xen integration
2006-08-22 13:40 ` Dan Smith
@ 2006-08-22 21:11 ` Christian Limpach
2006-08-22 22:03 ` Dan Smith
0 siblings, 1 reply; 7+ messages in thread
From: Christian Limpach @ 2006-08-22 21:11 UTC (permalink / raw)
To: Dan Smith; +Cc: Ryan Grimm, Xen Devel
On 8/22/06, Dan Smith <danms@us.ibm.com> wrote:
> CL> This needs to be changed to fail gracefully if the auto* tools are
> CL> not installed. Is the use of auto* tools absolutely necessary?
>
> Since xm-test was accepted with the use of autotools, we did not see
> any reason why this wouldn't.
Well, this is part of the tools build, while xm-test isn't.
> CL> Could we checkin the generated files as well?
>
> I suppose, if that's what you want. It will result in some relatively
> large patches of apparent garbage every time we make a change to the
> build system.
Yeah, I'm not sure about this.
We could do the same we do for the firmware build, i.e. test for the
existence of the required tools and if they are not present, then skip
the build.
> CL> Does this work for qemu domains? If so how, if not, what are your
> CL> plans to make it work for qemu domains?
>
> I don't see why it would not work. It just exports a block device, so
> if a qemu domain can use an LVM or a partition, then this will work.
> I can get access to an HVM machine and verify.
qemu expects to being able to open(2) the name of the file/partition.
I guess dm-userspace configures a devicemapper device from the backend
script and then has the backend driver use that. This is probably too
late for qemu to use it since qemu starts immediately and will try to
open it right away.
christian
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0 of 6] dm-userspace xen integration
2006-08-22 21:11 ` Christian Limpach
@ 2006-08-22 22:03 ` Dan Smith
0 siblings, 0 replies; 7+ messages in thread
From: Dan Smith @ 2006-08-22 22:03 UTC (permalink / raw)
To: Christian.Limpach; +Cc: Ryan Grimm, Xen Devel
[-- Attachment #1.1: Type: text/plain, Size: 1050 bytes --]
CL> Well, this is part of the tools build, while xm-test isn't.
Gotcha.
CL> We could do the same we do for the firmware build, i.e. test for
CL> the existence of the required tools and if they are not present,
CL> then skip the build.
I think that sounds good.
CL> I guess dm-userspace configures a devicemapper device from the
CL> backend script and then has the backend driver use that. This is
CL> probably too late for qemu to use it since qemu starts immediately
CL> and will try to open it right away.
So, everything past the ioemu: is passed to qemu, which open()s it,
right? I see there will need to be some changes made here to allow
qemu domains to work. Wouldn't it make more sense to have the normal
device scripts run for qemu domains as well? (With the exception of
file: devices). That would make it easier to add advanced block
device support for both types of domains without a special case for
HVM domains.
--
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms@us.ibm.com
[-- Attachment #1.2: Type: application/pgp-signature, Size: 190 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-08-22 22:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-21 20:54 [PATCH 0 of 6] dm-userspace xen integration Ryan Grimm
2006-08-22 9:03 ` Christian Limpach
2006-08-22 13:40 ` Dan Smith
2006-08-22 21:11 ` Christian Limpach
2006-08-22 22:03 ` Dan Smith
2006-08-22 16:42 ` Ryan Grimm
2006-08-22 21:04 ` Dan Smith
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.