libxenlight: minimal vfs support
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 8 Dec 2009 07:44:45 +0000 (07:44 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 8 Dec 2009 07:44:45 +0000 (07:44 +0000)
This patch adds minimal support for fs-backend and minios' fs-front
to libxenlight:

- it creates a vfs directory on the stubdom's xenstore
device path and allows the stubdom to write to it;

- it doesn't try to cleany shutdown the vfs backend.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
tools/libxl/libxl.c
tools/libxl/libxl_device.c

index 54cdd413c8123a81c6999de5559bc70e507aeba4..91b07c3bdcfdb8d0f25109e3992afe75fdaa6440 100644 (file)
@@ -875,6 +875,8 @@ retry_transaction:
     t = xs_transaction_start(ctx->xsh);
     xs_mkdir(ctx->xsh, t, libxl_sprintf(ctx, "/local/domain/0/device-model/%d", info->domid));
     xs_set_permissions(ctx->xsh, t, libxl_sprintf(ctx, "/local/domain/0/device-model/%d", info->domid), perm, ARRAY_SIZE(perm));
+    xs_mkdir(ctx->xsh, t, libxl_sprintf(ctx, "/local/domain/%d/device/vfs", domid));
+    xs_set_permissions(ctx->xsh, t, libxl_sprintf(ctx, "/local/domain/%d/device/vfs",domid), perm, ARRAY_SIZE(perm));
     if (!xs_transaction_end(ctx->xsh, t, 0))
         if (errno == EAGAIN)
             goto retry_transaction;
index 00a80727b3228206b003d1f4d9c9161065a60399..36f36841ab4c3d1e1b25a6780c7d3309055d354e 100644 (file)
@@ -254,6 +254,8 @@ int libxl_devices_destroy(struct libxl_ctx *ctx, uint32_t domid, int force)
         return -1;
     }
     for (i = 0; i < num1; i++) {
+        if (!strcmp("vfs", l1[i]))
+            continue;
         path = libxl_sprintf(&clone, "/local/domain/%d/device/%s", domid, l1[i]);
         l2 = libxl_xs_directory(&clone, XBT_NULL, path, &num2);
         if (!l2)