[libvirt] [PATCH 3/3] Add virsh option for format flags
Daniel Veillard
veillard at redhat.com
Sun Feb 21 14:51:06 UTC 2010
On Thu, Feb 18, 2010 at 05:58:07PM -0500, David Allan wrote:
> ---
> tools/virsh.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/tools/virsh.c b/tools/virsh.c
> index bd6b6be..de8c67d 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -4015,6 +4015,7 @@ static const vshCmdInfo info_pool_build[] = {
>
> static const vshCmdOptDef opts_pool_build[] = {
> {"pool", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("pool name or uuid")},
> + {"format", VSH_OT_BOOL, 0, gettext_noop("format the pool (destructive)")},
> {NULL, 0, 0, NULL}
> };
>
> @@ -4023,6 +4024,7 @@ cmdPoolBuild(vshControl *ctl, const vshCmd *cmd)
> {
> virStoragePoolPtr pool;
> int ret = TRUE;
> + int flags = 0;
> char *name;
>
> if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
> @@ -4031,7 +4033,10 @@ cmdPoolBuild(vshControl *ctl, const vshCmd *cmd)
> if (!(pool = vshCommandOptPool(ctl, cmd, "pool", &name)))
> return FALSE;
>
> - if (virStoragePoolBuild(pool, 0) == 0) {
> + if (vshCommandOptBool (cmd, "format"))
> + flags |= VIR_STORAGE_POOL_CREATE_FORMAT;
> +
> + if (virStoragePoolBuild(pool, flags) == 0) {
> vshPrint(ctl, _("Pool %s built\n"), name);
> } else {
> vshError(ctl, _("Failed to build pool %s"), name);
Same thing we probably need to extend this a bit for ext2/ext3/ext4/xfs
being able to format a pool with an FS supporting very fast fallocate()
for images can make a serious performance change, so I think it's worth
the extra work, no ?
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list