Richard W.M. Jones [Thu, 24 Nov 2011 19:36:50 +0000 (19:36 +0000)]
Update API support.
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.
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.
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.
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.
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.
Richard W.M. Jones [Thu, 24 Nov 2011 15:49:49 +0000 (15:49 +0000)]
test-tool: Fix multiple memory leaks 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.
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.
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.
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>
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.
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.
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
Matthew Booth [Wed, 23 Nov 2011 14:00:53 +0000 (14:00 +0000)]
md: Inspect MD devices
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
Matthew Booth [Wed, 23 Nov 2011 14:00:51 +0000 (14:00 +0000)]
build: Nothing under images/ should be translated
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.
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.
Richard W.M. Jones [Tue, 22 Nov 2011 16:03:37 +0000 (16:03 +0000)]
gnulib: Rebase to latest.
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.
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 ()
{
}
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).
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.
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.
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
Matthew Booth [Mon, 21 Nov 2011 15:23:18 +0000 (15:23 +0000)]
fish: Add MD devices to guestfish device autocompletion.
Richard W.M. Jones [Mon, 21 Nov 2011 13:25:36 +0000 (13:25 +0000)]
Version 1.15.5.
Richard W.M. Jones [Mon, 21 Nov 2011 13:09:59 +0000 (13:09 +0000)]
guestfs-testing: Link to libguestfs-test-tool.
Richard W.M. Jones [Mon, 21 Nov 2011 11:45:54 +0000 (11:45 +0000)]
contrib: Update introduction to libguestfs.
Hilko Bengen [Sun, 20 Nov 2011 22:57:47 +0000 (23:57 +0100)]
out-of-tree build: ruby
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.
Richard W.M. Jones [Thu, 17 Nov 2011 13:33:57 +0000 (13:33 +0000)]
Version 1.15.4.
Matthew Booth [Thu, 17 Nov 2011 12:43:49 +0000 (12:43 +0000)]
New API: mdadm-detail.
Matthew Booth [Thu, 17 Nov 2011 12:43:23 +0000 (12:43 +0000)]
Add custom indentation config for vim.
Hilko Bengen [Tue, 15 Nov 2011 20:28:22 +0000 (21:28 +0100)]
out of tree build: haskell
Hilko Bengen [Tue, 15 Nov 2011 20:28:21 +0000 (21:28 +0100)]
java: out-of-tree build, don't build static library
Hilko Bengen [Tue, 15 Nov 2011 20:28:20 +0000 (21:28 +0100)]
out of tree build: erlang
Matthew Booth [Thu, 10 Nov 2011 17:57:16 +0000 (17:57 +0000)]
Update list-filesystems to check 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.
Richard W.M. Jones [Fri, 11 Nov 2011 11:01:46 +0000 (11:01 +0000)]
New API: mdadm-create for creating MD devices.
Richard Jones [Fri, 11 Nov 2011 20:26:17 +0000 (20:26 +0000)]
32 bit: Fix printf off_t.
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).
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
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.
Richard W.M. Jones [Thu, 10 Nov 2011 16:34:57 +0000 (16:34 +0000)]
tune2fs-l: Add a test.
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.
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.
Richard W.M. Jones [Wed, 9 Nov 2011 22:44:47 +0000 (22:44 +0000)]
Version 1.15.3.
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.
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.
Richard W.M. Jones [Wed, 9 Nov 2011 21:21:00 +0000 (21:21 +0000)]
fish: More informative documentation of optargs.
Richard W.M. Jones [Wed, 9 Nov 2011 17:53:58 +0000 (17:53 +0000)]
ocaml: Compile OCaml bindings and tests with -warn-error.
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.
Matthew Booth [Tue, 8 Nov 2011 14:27:49 +0000 (14:27 +0000)]
Update FSF address.
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.
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.
Richard W.M. Jones [Thu, 3 Nov 2011 14:47:26 +0000 (14:47 +0000)]
Version 1.15.2.
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.
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.
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.
Richard W.M. Jones [Thu, 3 Nov 2011 10:32:02 +0000 (10:32 +0000)]
resize: Add tests for some Utils functions.
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.
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
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.
Richard W.M. Jones [Wed, 2 Nov 2011 18:19:15 +0000 (18:19 +0000)]
python: Include <config.h>.
Ooops ...
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.
Richard W.M. Jones [Wed, 2 Nov 2011 13:23:37 +0000 (13:23 +0000)]
contrib: Use PNG images as fallback for IE compatibility.
Richard W.M. Jones [Tue, 1 Nov 2011 17:51:00 +0000 (17:51 +0000)]
contrib: Update talk.
Richard W.M. Jones [Tue, 1 Nov 2011 15:11:16 +0000 (15:11 +0000)]
Version 1.15.1.
Richard W.M. Jones [Tue, 1 Nov 2011 14:10:49 +0000 (14:10 +0000)]
contrib: Add all contrib files to EXTRA_DIST.
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.
Richard W.M. Jones [Tue, 1 Nov 2011 09:47:25 +0000 (09:47 +0000)]
rescue: Add --suggest option to suggest mount commands.
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.
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'.
Richard W.M. Jones [Mon, 31 Oct 2011 16:44:55 +0000 (16:44 +0000)]
appliance: Add 'mdadm' package.
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.
Richard W.M. Jones [Thu, 27 Oct 2011 15:06:44 +0000 (16:06 +0100)]
Version 1.15.0.
Richard W.M. Jones [Thu, 27 Oct 2011 13:26:46 +0000 (14:26 +0100)]
Pull latest translations from Transifex.
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.
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.
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.
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).
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.
Richard W.M. Jones [Thu, 27 Oct 2011 09:55:06 +0000 (10:55 +0100)]
Update RELEASE-NOTES 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.
Richard W.M. Jones [Wed, 26 Oct 2011 21:22:32 +0000 (22:22 +0100)]
Update API support.
Richard W.M. Jones [Wed, 26 Oct 2011 20:12:18 +0000 (21:12 +0100)]
Version 1.13.26.
Richard W.M. Jones [Wed, 26 Oct 2011 19:53:30 +0000 (20:53 +0100)]
guestmount: Fix --live option (RHBZ#744795).
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.
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.
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.
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.
Richard W.M. Jones [Wed, 26 Oct 2011 13:09:39 +0000 (14:09 +0100)]
Version 1.13.25.
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.
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.
Richard W.M. Jones [Tue, 25 Oct 2011 18:03:38 +0000 (19:03 +0100)]
virt-resize: Handle extended and logical partitions (RHBZ#642821).
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.
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.
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.