On Thu, Jan 30, 2014 at 10:55:52AM +0100, Cédric Bosdonnat wrote:
Tmpfs relative size and default 50% size values aren't supported
as
we have no idea of the available memory at the conversion time.
---
src/lxc/lxc_container.c | 2 +-
src/lxc/lxc_container.h | 2 +
src/lxc/lxc_native.c | 245 +++++++++++++++++++++++-
tests/lxcconf2xmldata/lxcconf2xml-fstab.config | 37 ++++
tests/lxcconf2xmldata/lxcconf2xml-simple.config | 4 +-
tests/lxcconf2xmldata/lxcconf2xml-simple.xml | 9 +
tests/lxcconf2xmltest.c | 60 +++---
7 files changed, 330 insertions(+), 29 deletions(-)
create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-fstab.config
+static int
+lxcAddFstabLine(virDomainDefPtr def, lxcFstabPtr fstab)
+{
+ char *src = NULL;
+ char *dst = NULL;
+ char **options = virStringSplit(fstab->options, ",", 0);
+ bool readonly;
+ int type = VIR_DOMAIN_FS_TYPE_MOUNT;
+ unsigned long long usage = 0;
+
+ if (fstab->dst[0] != '/') {
+ if (virAsprintf(&dst, "/%s", fstab->dst) < 0)
+ goto error;
+ } else if (VIR_STRDUP(dst, fstab->dst) < 0)
+ goto error;
Nit-pick: i think it'd be slightly clearer if you did
} else {
if (VIR_STRDUP(dst, fstab->dst) < 0)
goto error;
}
because we prefer that if/else both match in their
use of {}
+
+ /* Check that we don't add basic mounts */
+ if (lxcIsBasicMountLocation(dst)) {
+ VIR_FREE(dst);
+ return 0;
+ }
+
+ if (STREQ(fstab->type, "tmpfs")) {
+ char *sizeStr = NULL;
+ size_t i;
+ type = VIR_DOMAIN_FS_TYPE_RAM;
+
+ for (i = 0; options[i]; i++) {
+ if ((sizeStr = STRSKIP(options[i], "size="))) {
+ if (lxcConvertSize(sizeStr, &usage) < 0)
+ goto error;
+ break;
+ }
+ }
+ if (!sizeStr) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("missing tmpfs size, set the size option"));
+ goto error;
+ }
+ } else if (VIR_STRDUP(src, fstab->src) < 0)
+ goto error;
And here too - add {} in the 'else { ..strdup bits.. }'
ACK with the nitpick fixed.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|