[Libguestfs] [PATCH 09/10] New API: mksquashfs
Richard W.M. Jones
rjones at redhat.com
Tue Feb 14 16:33:57 UTC 2017
On Tue, Feb 14, 2017 at 09:12:10AM +0100, Pino Toscano wrote:
> Introduce a new API to create a new squashfs filesystem out of a path
> in the guest. It can be configured to exclude paths based on patterns,
> and to select which compression use for the filesystem.
>
> The advantage of running mksquashfs directly in the appliance is that
> ownerships are properly saved, as opposed to tar_out + local untar.
I'm fairly sure this was proposed before as an API, but I cannot find
that right now. Was rejected because mksquashfs doesn't support
streaming output.
However I'm fine with this, although perhaps there should be a warning
in the longdesc saying that there may be problems with large files. I
think this API will break in the region of 3GB.
Rich.
> diff --git a/generator/actions.ml b/generator/actions.ml
> index fd6cc9f..409f399 100644
> --- a/generator/actions.ml
> +++ b/generator/actions.ml
> @@ -13292,6 +13292,32 @@ is removed." };
> shortdesc = "search the entries associated to the given inode";
> longdesc = "Internal function for find_inode." };
>
> + { defaults with
> + name = "mksquashfs"; added = (1, 35, 25);
> + style = RErr, [Pathname "path"; FileOut "filename"], [OString "compress"; OStringList "excludes"];
> + proc_nr = Some 471;
> + optional = Some "squashfs";
> + cancellable = true;
> + shortdesc = "create a squashfs filesystem";
> + longdesc = "\
> +Create a squashfs filesystem for the specified C<path>.
> +
> +The optional C<compress> flag controls compression. If not given,
> +then the output compressed using C<gzip>. Otherwise one
> +of the following strings may be given to select the compression
> +type of the squashfs: C<gzip>, C<lzma>, C<lzo>, C<lz4>, C<xz>.
> +
> +The other optional arguments are:
> +
> +=over 4
> +
> +=item C<excludes>
> +
> +A list of wildcards. Files are excluded if they match any of the
> +wildcards.
> +
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
More information about the Libguestfs
mailing list