From bfdc03be234d6d95f18450846433bce4f97e184c Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Tue, 2 Jun 2009 14:24:16 +0100 Subject: Add 'add_drive_ro' call. Fix up documentation. Plus a couple of minor code improvements in the tests. --- src/guestfs.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/guestfs.c') diff --git a/src/guestfs.c b/src/guestfs.c index c5056d44..fea8107d 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -669,6 +669,27 @@ guestfs_add_drive (guestfs_h *g, const char *filename) return guestfs_config (g, "-drive", buf); } +int +guestfs_add_drive_ro (guestfs_h *g, const char *filename) +{ + size_t len = strlen (filename) + 64; + char buf[len]; + + if (strchr (filename, ',') != NULL) { + error (g, _("filename cannot contain ',' (comma) character")); + return -1; + } + + if (access (filename, F_OK) == -1) { + perrorf (g, "%s", filename); + return -1; + } + + snprintf (buf, len, "file=%s,snapshot=on", filename); + + return guestfs_config (g, "-drive", buf); +} + int guestfs_add_cdrom (guestfs_h *g, const char *filename) { -- cgit