libguestfs.git
13 years agoUpdate API support.
Richard W.M. Jones [Thu, 24 Nov 2011 19:36:50 +0000 (19:36 +0000)]
Update API support.

13 years agoextra-tests: Include valgrind suppressions file.
Richard W.M. Jones [Thu, 24 Nov 2011 17:47:13 +0000 (17:47 +0000)]
extra-tests: Include valgrind suppressions file.

This updates commit c55bad93fbde03a3daa6058913f02098c45e55f5.

13 years agoregressions: Allow test-launch-race.pl to be skipped.
Richard W.M. Jones [Thu, 24 Nov 2011 16:54:17 +0000 (16:54 +0000)]
regressions: Allow test-launch-race.pl to be skipped.

export SKIP_TEST_LAUNCH_RACE_PL=1
will cause this test to be skipped.

13 years agodebian: Use mdadm -D --export instead of mdadm -DY.
Richard W.M. Jones [Thu, 24 Nov 2011 16:27:36 +0000 (16:27 +0000)]
debian: Use mdadm -D --export instead of mdadm -DY.

For compatibility with mdadm on Debian Squeeze.

13 years agoAdd 'make extra-tests' rule and run extra tests.
Richard W.M. Jones [Thu, 24 Nov 2011 14:08:09 +0000 (14:08 +0000)]
Add 'make extra-tests' rule and run extra tests.

These tests are optional, and require a special environment and
tools to run.

13 years agolib: Fix memory leak when debugging enabled (found by valgrind).
Richard W.M. Jones [Thu, 24 Nov 2011 15:50:54 +0000 (15:50 +0000)]
lib: Fix memory leak when debugging enabled (found by valgrind).

If you enabled debugging (eg. LIBGUESTFS_DEBUG=1) then every
debug message printed would be leaked.

13 years agotest-tool: Fix multiple memory leaks found by valgrind.
Richard W.M. Jones [Thu, 24 Nov 2011 15:49:49 +0000 (15:49 +0000)]
test-tool: Fix multiple memory leaks found by valgrind.

13 years agofilesystems: Fix memory leak found by valgrind.
Richard W.M. Jones [Thu, 24 Nov 2011 15:49:27 +0000 (15:49 +0000)]
filesystems: Fix memory leak found by valgrind.

13 years agopart-disk: Change default alignment of this to 64K (128 sectors).
Richard W.M. Jones [Thu, 24 Nov 2011 14:39:10 +0000 (14:39 +0000)]
part-disk: Change default alignment of this to 64K (128 sectors).

This is the minimum alignment.  1MB would be better.

Note that the exact behaviour is not defined in the API.

13 years agovirt-alignment-scan: Add checks for when API calls return NULL.
Richard W.M. Jones [Thu, 24 Nov 2011 14:06:31 +0000 (14:06 +0000)]
virt-alignment-scan: Add checks for when API calls return NULL.

In particular, virt-alignment-scan -a /dev/null would segfault
because of an error returned by parted.

13 years agoNew API: md-stop for stopping MD devices
Wanlong Gao [Thu, 24 Nov 2011 13:06:07 +0000 (21:06 +0800)]
New API: md-stop for stopping MD devices

This API is used to stop a md device.
When we want to move a device to another md array, we should
stop the md device which contained this device first.

Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
13 years agoRename mdadm_ apis to md_
Matthew Booth [Thu, 24 Nov 2011 12:09:03 +0000 (12:09 +0000)]
Rename mdadm_ apis to md_

This change renames the following 2 apis:
* mdadm_create -> md_create
* mdadm_detail -> md_detail

This is more consistent with list_md_devices, and removes a reference to an
implementation detail from the api.

13 years agoNFC: Allow multiple config files in inspect_with_augeas in inspect_fs_unix.c
Matthew Booth [Wed, 23 Nov 2011 14:00:55 +0000 (14:00 +0000)]
NFC: Allow multiple config files in inspect_with_augeas in inspect_fs_unix.c

This change is in support of the addition of MD support to fstab inspection.

13 years agoNFC: Consolidate the error path in check_fstab in inspect_fs_unix.c
Matthew Booth [Wed, 23 Nov 2011 14:00:54 +0000 (14:00 +0000)]
NFC: Consolidate the error path in check_fstab in inspect_fs_unix.c

13 years agomd: Inspect MD devices
Matthew Booth [Wed, 23 Nov 2011 14:00:53 +0000 (14:00 +0000)]
md: Inspect MD devices

13 years agoNFC: Declare and use variables on the same line in inspect.c
Matthew Booth [Wed, 23 Nov 2011 14:00:52 +0000 (14:00 +0000)]
NFC: Declare and use variables on the same line in inspect.c

13 years agobuild: Nothing under images/ should be translated
Matthew Booth [Wed, 23 Nov 2011 14:00:51 +0000 (14:00 +0000)]
build: Nothing under images/ should be translated

13 years agobuild: Create an MD variant of the dummy Fedora image
Matthew Booth [Wed, 23 Nov 2011 14:00:50 +0000 (14:00 +0000)]
build: Create an MD variant of the dummy Fedora image

This change involves rewriting make-fedora-img.sh in perl. This allows the
flexibility to write mdadm.conf containing whichever uuids where randomly
generated when the md devices were created.

13 years agorun script: Don't overwrite LD_LIBRARY_PATH and PERL5LIB
Matthew Booth [Wed, 23 Nov 2011 16:35:10 +0000 (16:35 +0000)]
run script: Don't overwrite LD_LIBRARY_PATH and PERL5LIB

This change allows the run scripts of virt-v2v and libguestfs to be chained.

13 years agognulib: Rebase to latest.
Richard W.M. Jones [Tue, 22 Nov 2011 16:03:37 +0000 (16:03 +0000)]
gnulib: Rebase to latest.

13 years agoDon't rely on implicit promotion of float to double in printf args.
Richard W.M. Jones [Tue, 22 Nov 2011 16:40:37 +0000 (16:40 +0000)]
Don't rely on implicit promotion of float to double in printf args.

13 years agofish: In generated code, put function names on a new line.
Richard W.M. Jones [Tue, 22 Nov 2011 16:39:37 +0000 (16:39 +0000)]
fish: In generated code, put function names on a new line.

eg:

static void
run_foo ()
{
}

13 years agodf, testing: Add notes on virt-df numbers (thanks Kashyap Chamarthy).
Richard W.M. Jones [Tue, 22 Nov 2011 13:18:32 +0000 (13:18 +0000)]
df, testing: Add notes on virt-df numbers (thanks Kashyap Chamarthy).

13 years agosparsify: Add -o option for passing qemu-img output format options.
Richard W.M. Jones [Tue, 22 Nov 2011 10:11:10 +0000 (10:11 +0000)]
sparsify: Add -o option for passing qemu-img output format options.

13 years agosparsify: Add --compress option.
Richard W.M. Jones [Tue, 22 Nov 2011 09:54:52 +0000 (09:54 +0000)]
sparsify: Add --compress option.

This adds the -c option to the final qemu-img command.

13 years agosparsify: Add auto-detection of .vdi files.
Richard W.M. Jones [Tue, 22 Nov 2011 09:39:54 +0000 (09:39 +0000)]
sparsify: Add auto-detection of .vdi files.

Note that for this to work properly, it requires a patch to
the 'file' command.  See:
https://www.redhat.com/archives/libguestfs/2011-November/msg00120.html

13 years agofish: Add MD devices to guestfish device autocompletion.
Matthew Booth [Mon, 21 Nov 2011 15:23:18 +0000 (15:23 +0000)]
fish: Add MD devices to guestfish device autocompletion.

13 years agoVersion 1.15.5. 1.15.5
Richard W.M. Jones [Mon, 21 Nov 2011 13:25:36 +0000 (13:25 +0000)]
Version 1.15.5.

13 years agoguestfs-testing: Link to libguestfs-test-tool.
Richard W.M. Jones [Mon, 21 Nov 2011 13:09:59 +0000 (13:09 +0000)]
guestfs-testing: Link to libguestfs-test-tool.

13 years agocontrib: Update introduction to libguestfs.
Richard W.M. Jones [Mon, 21 Nov 2011 11:45:54 +0000 (11:45 +0000)]
contrib: Update introduction to libguestfs.

13 years agoout-of-tree build: ruby
Hilko Bengen [Sun, 20 Nov 2011 22:57:47 +0000 (23:57 +0100)]
out-of-tree build: ruby

13 years agoAdd guestfs-testing(1) man page.
Richard W.M. Jones [Sun, 20 Nov 2011 13:38:28 +0000 (13:38 +0000)]
Add guestfs-testing(1) man page.

This contains suggested manual tests that users can run.

13 years agoVersion 1.15.4. 1.15.4
Richard W.M. Jones [Thu, 17 Nov 2011 13:33:57 +0000 (13:33 +0000)]
Version 1.15.4.

13 years agoNew API: mdadm-detail.
Matthew Booth [Thu, 17 Nov 2011 12:43:49 +0000 (12:43 +0000)]
New API: mdadm-detail.

13 years agoAdd custom indentation config for vim.
Matthew Booth [Thu, 17 Nov 2011 12:43:23 +0000 (12:43 +0000)]
Add custom indentation config for vim.

13 years agoout of tree build: haskell
Hilko Bengen [Tue, 15 Nov 2011 20:28:22 +0000 (21:28 +0100)]
out of tree build: haskell

13 years agojava: out-of-tree build, don't build static library
Hilko Bengen [Tue, 15 Nov 2011 20:28:21 +0000 (21:28 +0100)]
java: out-of-tree build, don't build static library

13 years agoout of tree build: erlang
Hilko Bengen [Tue, 15 Nov 2011 20:28:20 +0000 (21:28 +0100)]
out of tree build: erlang

13 years agoUpdate list-filesystems to check md devices.
Matthew Booth [Thu, 10 Nov 2011 17:57:16 +0000 (17:57 +0000)]
Update list-filesystems to check md devices.

13 years agoNew API: list-md-devices.
Matthew Booth [Thu, 10 Nov 2011 17:56:10 +0000 (17:56 +0000)]
New API: list-md-devices.

Return a list of Linux MD devices detected in the guest.

This API complements list_devices, list_partitions, list_lvs and
list_dm_devices.

13 years agoNew API: mdadm-create for creating MD devices.
Richard W.M. Jones [Fri, 11 Nov 2011 11:01:46 +0000 (11:01 +0000)]
New API: mdadm-create for creating MD devices.

13 years ago32 bit: Fix printf off_t.
Richard Jones [Fri, 11 Nov 2011 20:26:17 +0000 (20:26 +0000)]
32 bit: Fix printf off_t.

13 years ago32 bit: Use %td for ptrdiff_t (difference between two pointers).
Richard W.M. Jones [Fri, 11 Nov 2011 19:11:02 +0000 (19:11 +0000)]
32 bit: Use %td for ptrdiff_t (difference between two pointers).

13 years agodf: Disable part of virt-df test.
Richard W.M. Jones [Fri, 11 Nov 2011 13:30:09 +0000 (13:30 +0000)]
df: Disable part of virt-df test.

See:
https://www.redhat.com/archives/libguestfs/2011-November/msg00051.html

13 years agoNew API: Bind the tune2fs command.
Richard W.M. Jones [Wed, 9 Nov 2011 17:54:38 +0000 (17:54 +0000)]
New API: Bind the tune2fs command.

Previously we bound the 'tune2fs -l' command so that we could list out
the tunables of an ext2/3/4 filesystem.  Also commands like
set_e2label and set_e2uuid used tune2fs.

This commit binds many of the tunables that can be set using tune2fs.

The coverage is not complete, but we can add more later because this
uses optional parameters so the call is extensible without breaking
ABI.  The current change gives us enough for using libguestfs within
OpenStack.

13 years agotune2fs-l: Add a test.
Richard W.M. Jones [Thu, 10 Nov 2011 16:34:57 +0000 (16:34 +0000)]
tune2fs-l: Add a test.

13 years agogenerator: Support testing the output of RHashtable functions.
Richard W.M. Jones [Thu, 10 Nov 2011 16:33:40 +0000 (16:33 +0000)]
generator: Support testing the output of RHashtable functions.

You can use TestOutputHashtable to test the output of RHashtable
functions.

13 years agodaemon: Define safe ADD_ARG macro for constructing arg lists on the stack.
Richard W.M. Jones [Thu, 10 Nov 2011 15:53:23 +0000 (15:53 +0000)]
daemon: Define safe ADD_ARG macro for constructing arg lists on the stack.

13 years agoVersion 1.15.3. 1.15.3
Richard W.M. Jones [Wed, 9 Nov 2011 22:44:47 +0000 (22:44 +0000)]
Version 1.15.3.

13 years agoocaml: Fix bindings when a function takes more than 10 parameters.
Richard W.M. Jones [Wed, 9 Nov 2011 17:48:42 +0000 (17:48 +0000)]
ocaml: Fix bindings when a function takes more than 10 parameters.

If any function had more than 10 required + optional parameters, OCaml
bindings could not be generated.  Currently there are no such
functions.

13 years agotests: Fix bitmask parameter when testing optional arguments.
Richard W.M. Jones [Wed, 9 Nov 2011 17:47:23 +0000 (17:47 +0000)]
tests: Fix bitmask parameter when testing optional arguments.

The bitmask was being constructed backwards(!)

As a result, any test which tested optional arguments didn't work.
There are very few such tests and they happened not to be affected by
this.

13 years agofish: More informative documentation of optargs.
Richard W.M. Jones [Wed, 9 Nov 2011 21:21:00 +0000 (21:21 +0000)]
fish: More informative documentation of optargs.

13 years agoocaml: Compile OCaml bindings and tests with -warn-error.
Richard W.M. Jones [Wed, 9 Nov 2011 17:53:58 +0000 (17:53 +0000)]
ocaml: Compile OCaml bindings and tests with -warn-error.

13 years agoocaml: Catch EVENT_ENTER case in test.
Richard W.M. Jones [Wed, 9 Nov 2011 17:50:37 +0000 (17:50 +0000)]
ocaml: Catch EVENT_ENTER case in test.

For some reason we are not compiling the tests with -warn-error so
this problem was not noticed before.

This fixes commit 9420eaf44ec4067c3740b91b0be0fede08a0c515.

13 years agoUpdate FSF address.
Matthew Booth [Tue, 8 Nov 2011 14:27:49 +0000 (14:27 +0000)]
Update FSF address.

13 years agodaemon: Use a private copy of /etc/lvm so we don't modify the real config.
Richard W.M. Jones [Fri, 4 Nov 2011 15:55:13 +0000 (15:55 +0000)]
daemon: Use a private copy of /etc/lvm so we don't modify the real config.

In the libguestfs live case we need to be careful not to modify the
real /etc/lvm/lvm.conf file (when setting the filter rule).

When the daemon starts, make a complete copy of /etc/lvm in a
temporary directory, and adjust LVM_SYSTEM_DIR to point to the copy.
All changes are made in the temporary copy.

13 years agodaemon: Don't use files with fixed names in /tmp (thanks Steve Kemp).
Richard W.M. Jones [Fri, 4 Nov 2011 15:30:12 +0000 (15:30 +0000)]
daemon: Don't use files with fixed names in /tmp (thanks Steve Kemp).

Although this doesn't matter for the ordinary (appliance) case, it
matters for the libguestfs live case.  In that case it could cause the
guest to be exploited by a tmp/symlink attack.

13 years agoVersion 1.15.2. 1.15.2
Richard W.M. Jones [Thu, 3 Nov 2011 14:47:26 +0000 (14:47 +0000)]
Version 1.15.2.

13 years agovirt-sysprep: Don't use xmlstarlet.
Richard W.M. Jones [Thu, 3 Nov 2011 13:09:54 +0000 (13:09 +0000)]
virt-sysprep: Don't use xmlstarlet.

Use virt-inspector --xpath option instead.

13 years agoAdd virt-inspector --xpath to run XPath queries directly.
Richard W.M. Jones [Thu, 3 Nov 2011 13:06:25 +0000 (13:06 +0000)]
Add virt-inspector --xpath to run XPath queries directly.

xmlstarlet is good, but not available in Red Hat Enterprise Linux.

Build a simple but sane XPath query parser into virt-inspector
directly so that we don't need any external tools.

13 years agoresize: Remove requirement for ocaml Pcre library.
Richard W.M. Jones [Thu, 3 Nov 2011 10:45:58 +0000 (10:45 +0000)]
resize: Remove requirement for ocaml Pcre library.

This library is not available in RHEL 6, and in any case removing the
dependency is a simple change.

13 years agoresize: Add tests for some Utils functions.
Richard W.M. Jones [Thu, 3 Nov 2011 10:32:02 +0000 (10:32 +0000)]
resize: Add tests for some Utils functions.

13 years agopython: Use sys.version_info[0] instead of sys.version_info.major.
Richard W.M. Jones [Thu, 3 Nov 2011 09:48:45 +0000 (09:48 +0000)]
python: Use sys.version_info[0] instead of sys.version_info.major.

The major/minor fields only exist in Python >= 2.7.  This works for at
least Python 2.5 and 2.6.

Thanks to Hilko Bengen.

This updates commit 646142f5136da9cfe2b908703a822c53350f70e9.

13 years agopython: Fixes for Python 3 (RHBZ#750889).
Richard W.M. Jones [Wed, 2 Nov 2011 19:43:53 +0000 (19:43 +0000)]
python: Fixes for Python 3 (RHBZ#750889).

These fixes allow libguestfs bindings to work with Python 3 (tested
with Python 3.2)

You can select which Python you compile against by doing:

  PYTHON=python ./configure && make && make check

or:

  PYTHON=python3 ./configure && make && make check

13 years agopython: Pass $PYTHON environment variable to tests.
Richard W.M. Jones [Wed, 2 Nov 2011 19:42:29 +0000 (19:42 +0000)]
python: Pass $PYTHON environment variable to tests.

If the user set PYTHON when configuring, this variable is not passed
through to the tests, so it is possible the tests will fail because
they are testing the wrong version of python.  By passing $PYTHON
through to the tests we ensure that we test against the same version
of python that we configured with.

13 years agopython: Include <config.h>.
Richard W.M. Jones [Wed, 2 Nov 2011 18:19:15 +0000 (18:19 +0000)]
python: Include <config.h>.

Ooops ...

13 years agopython: Correctly check for Python major/minor.
Richard W.M. Jones [Wed, 2 Nov 2011 18:18:14 +0000 (18:18 +0000)]
python: Correctly check for Python major/minor.

The manual for sys.version warns that you should not parse the string,
which we were doing.  It would have failed on python "2.10" or
similar.

Do it correctly using the sys.version_info struct instead.

13 years agocontrib: Use PNG images as fallback for IE compatibility.
Richard W.M. Jones [Wed, 2 Nov 2011 13:23:37 +0000 (13:23 +0000)]
contrib: Use PNG images as fallback for IE compatibility.

13 years agocontrib: Update talk.
Richard W.M. Jones [Tue, 1 Nov 2011 17:51:00 +0000 (17:51 +0000)]
contrib: Update talk.

13 years agoVersion 1.15.1. 1.15.1
Richard W.M. Jones [Tue, 1 Nov 2011 15:11:16 +0000 (15:11 +0000)]
Version 1.15.1.

13 years agocontrib: Add all contrib files to EXTRA_DIST.
Richard W.M. Jones [Tue, 1 Nov 2011 14:10:49 +0000 (14:10 +0000)]
contrib: Add all contrib files to EXTRA_DIST.

13 years agocontrib: Add libguestfs talk.
Richard W.M. Jones [Tue, 1 Nov 2011 14:07:59 +0000 (14:07 +0000)]
contrib: Add libguestfs talk.

This is a short (10-15 min) talk that I give to introduce the main
features of libguestfs.  The "slides" are in the form of a complete
self-contained HTML page with a handful images that can be easily
distributed before the talk.

13 years agorescue: Add --suggest option to suggest mount commands.
Richard W.M. Jones [Tue, 1 Nov 2011 09:47:25 +0000 (09:47 +0000)]
rescue: Add --suggest option to suggest mount commands.

13 years agofish: Use size_t instead of int when counting strings.
Richard W.M. Jones [Tue, 1 Nov 2011 09:47:01 +0000 (09:47 +0000)]
fish: Use size_t instead of int when counting strings.

13 years agoFix debug help error message.
Matthew Booth [Mon, 31 Oct 2011 16:47:50 +0000 (16:47 +0000)]
Fix debug help error message.

When given an invalid debug command, libguestfs responds with the
error message:

  libguestfs: error: debug: use 'debug help' to list the supported commands

However this command does not work, as debug requires two
arguments. This change updates the message to prompt the user to use
'debug help 0'.

13 years agoappliance: Add 'mdadm' package.
Richard W.M. Jones [Mon, 31 Oct 2011 16:44:55 +0000 (16:44 +0000)]
appliance: Add 'mdadm' package.

13 years agoperl: Add %guestfs_introspection hash with introspection information.
Richard W.M. Jones [Thu, 27 Oct 2011 16:40:31 +0000 (17:40 +0100)]
perl: Add %guestfs_introspection hash with introspection information.

Because this is a useful introspection API, it is a candidate for
being backported into older stable branches.

13 years agoVersion 1.15.0. 1.15.0
Richard W.M. Jones [Thu, 27 Oct 2011 15:06:44 +0000 (16:06 +0100)]
Version 1.15.0.

13 years agoPull latest translations from Transifex.
Richard W.M. Jones [Thu, 27 Oct 2011 13:26:46 +0000 (14:26 +0100)]
Pull latest translations from Transifex.

13 years agogenerator: Remove DangerWillRobinson.
Richard W.M. Jones [Thu, 27 Oct 2011 12:45:22 +0000 (13:45 +0100)]
generator: Remove DangerWillRobinson.

This warning was applied unevenly.  Potentially any command can be
dangerous or safe, so it was a needless warning.

13 years agofuse: Skip guestmount test if setfacl is not installed.
Richard W.M. Jones [Thu, 27 Oct 2011 12:44:02 +0000 (13:44 +0100)]
fuse: Skip guestmount test if setfacl is not installed.

This dependency is optional, don't fail the test if it's not
installed.

13 years agovirt-sysprep: Skip test if xmlstarlet is not installed.
Richard W.M. Jones [Thu, 27 Oct 2011 12:36:15 +0000 (13:36 +0100)]
virt-sysprep: Skip test if xmlstarlet is not installed.

This dependency is optional, so don't fail the test if it
is not installed.

13 years agovirt-alignment-scan: Add additional data for 4K sector drives
Richard W.M. Jones [Thu, 27 Oct 2011 12:30:22 +0000 (13:30 +0100)]
virt-alignment-scan: Add additional data for 4K sector drives
(thanks Matt Booth).

13 years agotest-virt-sparsify: Relax size_after constraint (for Debian).
Richard W.M. Jones [Thu, 27 Oct 2011 11:28:47 +0000 (12:28 +0100)]
test-virt-sparsify: Relax size_after constraint (for Debian).

size_after on Debian was 10136K.  The host filesystem was ext3 (vs
ext4 for Fedora where we did the original testing).  Probably indirect
blocks (vs more efficient extents on ext4) causes the difference,
although I did not look at it in detail.

13 years agoUpdate RELEASE-NOTES for 1.14 release.
Richard W.M. Jones [Thu, 27 Oct 2011 09:55:06 +0000 (10:55 +0100)]
Update RELEASE-NOTES for 1.14 release.

13 years agoUpdate ROADMAP for 1.14 release.
Richard W.M. Jones [Thu, 27 Oct 2011 09:54:55 +0000 (10:54 +0100)]
Update ROADMAP for 1.14 release.

13 years agoUpdate API support.
Richard W.M. Jones [Wed, 26 Oct 2011 21:22:32 +0000 (22:22 +0100)]
Update API support.

13 years agoVersion 1.13.26. 1.13.26
Richard W.M. Jones [Wed, 26 Oct 2011 20:12:18 +0000 (21:12 +0100)]
Version 1.13.26.

13 years agoguestmount: Fix --live option (RHBZ#744795).
Richard W.M. Jones [Wed, 26 Oct 2011 19:53:30 +0000 (20:53 +0100)]
guestmount: Fix --live option (RHBZ#744795).

13 years agofish and other tools: -d option uses readonlydisk="read" (RHBZ#747290).
Richard W.M. Jones [Wed, 26 Oct 2011 18:30:23 +0000 (19:30 +0100)]
fish and other tools: -d option uses readonlydisk="read" (RHBZ#747290).

Tools like virt-edit would not be able to edit disks marked as
<readonly/> in the libvirt XML.  It's not clear if this is a bug or a
feature.

13 years agoadd-domain: Add readonlydisk optional argument (RHBZ#747290).
Richard W.M. Jones [Wed, 26 Oct 2011 18:27:01 +0000 (19:27 +0100)]
add-domain: Add readonlydisk optional argument (RHBZ#747290).

This optional argument controls how <readonly/> disks in
the libvirt XML are handled.  It can be set to one of:

  "write" (default) - add them R/W
  "read" - add them R/O
  "error" - throw an error if asked to add them R/W
  "ignore" - ignore these disks

I have added limited regression tests for this feature.  However
libvirt's test:/// XML does not allow you to specify that a domain
starts off shut down, so we cannot fully test this.  Instead I tested
it by hand.

13 years agolibvirt: Detect if a disk has the <readonly/> flag.
Richard W.M. Jones [Wed, 26 Oct 2011 16:47:34 +0000 (17:47 +0100)]
libvirt: Detect if a disk has the <readonly/> flag.

This changes the private function guestfs___for_each_disk so that the
<readonly/> flag on libvirt disks is detected and passed through to
the callback function.

13 years agotest-user-cancel: Make this test choose smaller cancellation numbers.
Richard W.M. Jones [Wed, 26 Oct 2011 14:55:29 +0000 (15:55 +0100)]
test-user-cancel: Make this test choose smaller cancellation numbers.

Use a Gaussian distribution for random numbers so that smaller numbers
are chosen more frequently.

This also exposes a bug in this test which only happens when small
numbers are chosen:

If the test thread starts up quickly, it can get to
guestfs_user_cancel before the guestfs_upload command has happened in
the main thread.  This causes the cancel to be ignored (correctly) and
we end up in the second loop writing data until the disk runs out of
space.  Fix this by repeatedly asserting the cancel flag in the second
loop.

13 years agoVersion 1.13.25. 1.13.25
Richard W.M. Jones [Wed, 26 Oct 2011 13:09:39 +0000 (14:09 +0100)]
Version 1.13.25.

13 years agovirt-resize: Be much more conservative about moving first partition.
Richard W.M. Jones [Wed, 26 Oct 2011 12:56:18 +0000 (13:56 +0100)]
virt-resize: Be much more conservative about moving first partition.

Commit 2910413850c7d9e8df753afad179e415f0638d6d caused Windows 7
resizes to break with the 0xc0000225 boot error.

Change the --align-first auto (default) option so that it is more
conservative about when it moves the first partition.  In particular
it doesn't move it if it's already aligned (as it is for Win7), nor if
there is more than one partition (also Win7).

Tested with: Windows XP, 2003, 7, Ubuntu 10.10 and RHEL 5.

13 years agoFlush stdout for progress bars used by guestfish, virt-resize.
Richard W.M. Jones [Wed, 26 Oct 2011 12:55:38 +0000 (13:55 +0100)]
Flush stdout for progress bars used by guestfish, virt-resize.

13 years agovirt-resize: Handle extended and logical partitions (RHBZ#642821).
Richard W.M. Jones [Tue, 25 Oct 2011 18:03:38 +0000 (19:03 +0100)]
virt-resize: Handle extended and logical partitions (RHBZ#642821).

13 years agoresize: Get the partition table type of the source disk earlier.
Richard W.M. Jones [Tue, 25 Oct 2011 13:18:29 +0000 (14:18 +0100)]
resize: Get the partition table type of the source disk earlier.

Also we only permit MBR (DOS) and GPT partition tables.  In theory
previously we allowed other partition table types, but it is unlikely
that it would have worked in reality.

13 years agoNew APIs: copy-{file,device}-to-{file,device}.
Richard W.M. Jones [Tue, 25 Oct 2011 21:49:55 +0000 (22:49 +0100)]
New APIs: copy-{file,device}-to-{file,device}.

The four new APIs:
guestfs_copy_device_to_device,
guestfs_copy_device_to_file,
guestfs_copy_file_to_device, and
guestfs_copy_file_to_file
let you copy from a source to a destination, between files and
devices, optionally allowing source and destination offsets and size
to be specified.

13 years agoocaml: Make sure virt-resize, virt-sparsify are rebuilt if Guestfs API changes.
Richard W.M. Jones [Tue, 25 Oct 2011 13:14:35 +0000 (14:14 +0100)]
ocaml: Make sure virt-resize, virt-sparsify are rebuilt if Guestfs API changes.

Add a dependency so these tools are rebuilt from scratch if the
Guestfs API changes.  This prevents the error:
"[...] make inconsistent assumptions over interface Guestfs".

This commit includes the generated changes to .depend files.