add dir support

It used to be supported with the lxc-create.in script, and
the manpage says it's supported...  So let's just support it.

Now

sudo lxc-create -t download --dir /opt/ab -n ab

works, creating the container rootfs under /opt/ab.  This
generally isn't something I'd recommend, however telling users
to use a different lxc-path isn't as friendly as I'd like,
because each lxcpath requires separate lxc-ls and lxc-autostart
runs.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
Serge Hallyn 2014-02-21 14:36:06 -06:00 committed by Stéphane Graber
parent b2fe91c7d4
commit 7bb878863c
3 changed files with 6 additions and 3 deletions

View File

@ -477,7 +477,10 @@ static int dir_destroy(struct bdev *orig)
static int dir_create(struct bdev *bdev, const char *dest, const char *n,
struct bdev_specs *specs)
{
bdev->src = strdup(dest);
if (specs->dir)
bdev->src = strdup(specs->dir);
else
bdev->src = strdup(dest);
bdev->dest = strdup(dest);
if (!bdev->src || !bdev->dest) {
ERROR("Out of memory");

View File

@ -48,6 +48,7 @@ struct bdev_specs {
char *lv;
char *thinpool; // lvm thin pool to use, if any
} lvm;
char *dir;
};
struct bdev_ops {

View File

@ -256,8 +256,7 @@ int main(int argc, char *argv[])
spec.lvm.thinpool = my_args.thinpool;
}
if (my_args.dir) {
ERROR("--dir is not yet supported");
exit(1);
spec.dir = my_args.dir;
}
if (strcmp(my_args.bdevtype, "_unset") == 0)