| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(cherry picked from commit 4c2bb8b301970e8853a8feaa95e3698224640fba)
|
|
|
|
|
|
| |
rpcgen generates source which can't be safely compiled with strict-aliasing
enabled.
(cherry picked from commit 3a84e0784e1e3ab7b56850d0f8c9aa42f1ae3da1)
|
|
|
|
| |
(cherry picked from commit 0daf7e81a659bcdc1ce327151cc1207b124a35a1)
|
|
|
|
| |
(cherry picked from commit c8faa5d0b0a17689d27bd33bc787ba0fe9a3f076)
|
|
|
|
| |
(cherry picked from commit c6310bd242ddaa7b0801df9da7e4fba7346dc53e)
|
|
|
|
| |
(cherry picked from commit e8ab05b12c6b1c13278e549883efd47900a4bac1)
|
|
|
|
|
|
|
|
| |
On Debian we get this warning which I'm pretty sure is bogus:
fish.c:690: error: 'pcmd.cmd' may be used uninitialized in this
function [-Wuninitialized]
(cherry picked from commit 316ad8311a41869cf5f253225137dd03d1211ce7)
|
|
|
|
|
| |
Factor out the code which splits a string into a command line.
(cherry picked from commit 61a4db138e4f85033c655bf6b24df0949683c24c)
|
|
|
|
|
|
|
| |
Note that 'time' and 'glob' (which both run subcommands) do not
correctly pass the exit_on_error flag in the remote case. This is not
a regression: the current code doesn't work either.
(cherry picked from commit 4bcb267a248977c6b044e18a72266d665102de30)
|
|
|
|
| |
(cherry picked from commit f6a21c1e0d44f9db409ce6583be7b5bc694767a8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix guestfish (and other C tools) so that they ignore errors
when /etc/fstab contains bogus entries.
Update the documentation for inspect-get-mountpoints to emphasize
that callers must be aware of this when mounting the returned
values.
Add a regression test.
Update the example code ("inspect_vm") to reflect the way this
API ought to be called.
For more detail see:
https://bugzilla.redhat.com/show_bug.cgi?id=668574
(cherry picked from commit 0c60e4d9dd6549c2135699490ba8a9ec1dd50ab9)
|
|
|
|
|
| |
This also adds a regression test.
(cherry picked from commit 7ce627fce02eae8c7db36b4090fa0ce1bf69bf44)
|
|
|
|
|
|
|
|
|
| |
Although this doesn't seem to cause a crash, valgrind confirms
that this is a genuine off-by-one bug. It could potentially
cause a crash if you did:
echo 'echo ~root/foo' | guestfish
(cherry picked from commit a9802509184341e731de5c9af363184a9964a8a7)
|
|
|
|
| |
(cherry picked from commit 327442119ff1f1791a0682928e59b0c4b4752007)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
We are now going to build binaries for each distribution so
there is no need to build the quasi-distro-independent static
binaries any more.
|
|
|
|
|
|
|
| |
This removes the dependency from guestfish to the external
pod2text program (and hence the final dependency on perl for
guestfish). This is done by storing the formatted pod2text
output in guestfish as the help text.
|
|
|
|
|
|
|
| |
In the 'struct drv *drvs' structure, keep a list of the
device name(s) for each added drive or guest. The device name
is the canonical name as that drive would be known inside
libguestfs, eg. "/dev/sda"
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This tool replaces virt-list-filesystems and virt-list-partitions with
a new tool written in C with a more uniform command line structure
and output.
This existing Perl tools are deprecated but remain indefinitely.
|
| |
|
|
|
|
|
| |
This fixes a memory leak introduced by
commit a232e62dcf508517a32b9a8d7e4529e827be721b.
|
|
|
|
| |
Also add virt-cat.static target.
|
|
|
|
|
|
|
| |
Include the XDR headers in the internal guestfs-internal.h instead.
This is knock-on effects to several other source files which
were implicitly relying on indirectly loaded headers.
|
|
|
|
|
|
| |
This also makes libxml2 and libvirt into optional dependencies.
If they are missing then the core API will print an error, as
will the '-d' option to guestfish.
|
|
|
|
|
|
|
|
|
|
| |
This adds the guestfish --rw option, intended in future
to be required for writing to disk images.
At the moment this does not change the default and so does
nothing. This patch is intended for backporting to the
stable branches so that we can start to introduce scripts
which use 'guestfish --rw'.
|
|
|
|
| |
(Thanks Eric Blake).
|
|
|
|
|
|
|
|
| |
eval "$(guestfish --listen)"
instead of various other forms.
(Thanks Eric Blake).
|
|
|
|
|
|
|
| |
Don't depend on bash, but allow sh/dash/etc format:
GUESTFISH_PID=nn; export GUESTFISH_PID
(Thanks Eric Blake).
|
|
|
|
|
|
|
|
|
|
|
| |
This feature is also available in guestmount because of the
shared option parsing code.
You don't need to do anything to enable it, just using -i
will attempt decryption of encrypted partitions.
Only works for simple Fedora whole-disk encryption. It's a
work-in-progress to make it work for other types of encryption.
|
| |
|
|
|
|
|
|
| |
Existing command lookups are approx O(n^2). Replace this
with a perfect hash implementation which should be a lot
faster.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In guestfish, factor out the processing of the options -a, -c,
-d, -i, -m, -n, -r, -v, -V, -x into a separate set of files:
options.c, options.h, inspect.c, virt.c.
Change guestmount so that it uses these same files (from the
../fish directory) to process the same options.
This unifies the handling of these options between the two programs.
It also adds the useful inspection feature to guestmount, so you
can now do:
guestmount -d Guest -i --ro mnt/
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
For libvirt guests, the disk format is copied from libvirt (if
libvirt knows it).
For command line disk images, you can use --format to override
format auto-detection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This large commit changes the generator so that optional arguments
can be supported for functions.
The model for arguments (known as the "style") is changed from
(ret, args) to (ret, args, optargs) where optargs is a more limited
list of arguments.
One function has been added which takes optional arguments, it is
"add-drive-opts", modelled as:
(RErr, [String "filename"], #required
[Bool "readonly"; String "format"; String "iface"]) #optional
Note that this function is processed in the library (does not go over
the RPC protocol to the daemon). This has allowed us to simplify
the current implementation by omitting changes related to RPC or the
daemon, although we plan to add these at some point in the future.
From C this function can be called in 3 different ways as in these
examples:
guestfs_add_drive_opts (g, filename,
GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,
GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw",
-1);
(the argument(s) between 'filename' and '-1' are the optional ones).
guestfs_add_drive_opts_va (g, filename, args);
where 'args' is a va_list. This works like the first version.
struct guestfs_add_drive_opts_argv optargs = {
.bitmask = GUESTFS_ADD_DRIVE_OPTS_READONLY_BITMASK,
.readonly = 1,
}
guestfs_add_drive_opts_argv (g, filename, &optargs);
This last form lets you construct lists of optional arguments, and
is used by guestfish and the language bindings.
In guestfish optional arguments are used like this:
add-drive-opts filename readonly:true
In OCaml these are mapped naturally to OCaml optional arguments, eg:
g#add_drive_opts ~readonly:true filename;
In Perl these are mapped to extra arguments, eg:
$g->add_drive_opts ($filename, readonly => 1);
In Python these are mapped to optional arguments, eg:
g.add_drive_opts ("file", readonly = 1, format = "qcow2")
In Ruby these are mapped to a final hash argument, eg:
g.add_drive_opts("file", {})
g.add_drive_opts("file", :readonly => 1)
g.add_drive_opts("file", :readonly => 1, :iface => "virtio")
In PHP these are mapped to extra parameters. This is not quite
accurate since you cannot omit arbitrary optional parameters, but
there's not much than can be done within the limitations of PHP
as a language.
Unimplemented in: Haskell, C#, Java.
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a fix for the glob command in guestfish which was inadvertently
broken in commit c359347dd42c9f5b875630537ee3641264826b89.
This also appears to fix:
https://bugzilla.redhat.com/show_bug.cgi?id=635969
glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage
|
| |
|
| |
|
|
|
|
|
|
|
| |
Be more consistent in allowing the user to override use of the
temporary directory by specifying $TMPDIR. Also prefer P_tmpdir
macro (defined in <stdio.h>) if that is defined, rather than
hard-coding "/tmp" for the fallback location.
|
|
|
|
|
| |
This updates commit 8ea62c8d7f3f7f7e4057b93105cf979271aa13f4
so it doesn't try to free the optarg (stack-allocated) strings.
|
| |
|
|
|
|
|
|
|
|
|
| |
Clear the in-memory history before exiting. This removes
some but not all memory leaks associated with using the GNU
History library. As far as I can tell it is not possible to
free up everything used by GNU History.
(Found by valgrind).
|
|
|
|
|
|
|
|
|
|
| |
Previously the list of -a, -d, -m, -N parameters were leaked. This
change frees them explicitly.
This is not such an important fix since guestfish is a one-shot
program, but it aids in finding other leaks in future.
(Found by valgrind).
|