Richard W.M. Jones [Fri, 9 Dec 2011 15:30:23 +0000 (15:30 +0000)]
fuse: Return EXIT_FAILURE if fuse_main fails.
fuse_main can return any non-zero value on error. In particular on
certain sorts of error such as unsupported -o options it returns 1
(not -1).
Therefore make sure any non-zero return is turned into EXIT_FAILURE.
(Thanks Pádraig Brady)
Richard W.M. Jones [Fri, 9 Dec 2011 09:49:37 +0000 (09:49 +0000)]
fish: -i option should fail if / is not mountable, but warn about others.
In particular this stops a problem with guestmount where if the -i
option half-recognizes the guest OS, it would mount the disk (and
fail, giving only warnings), leaving the mountpoint unusable.
(Thanks Pádraig Brady)
Richard W.M. Jones [Thu, 8 Dec 2011 11:39:58 +0000 (11:39 +0000)]
daemon: Fix utimens so it doesn't hang on named pipes (RHBZ#761460).
This also adds comprehensive tests for utimens on regular files,
directories (RHBZ#761451), named pipes (RHBZ#761460), symbolic links,
block and char devices.
Note that there is a small change in the (previously undefined)
semantics of this call: It now sets the time on a symbolic link
itself, not on what the symbolic link points to.
Richard W.M. Jones [Thu, 8 Dec 2011 11:15:18 +0000 (11:15 +0000)]
daemon: Allow utimens to work for directories (RHBZ#761451).
You don't need to open the file O_WRONLY in order to call futimens on
the file descriptor. Opening it O_WRONLY fails for directories.
Therefore open O_RDONLY instead.
Richard W.M. Jones [Wed, 7 Dec 2011 12:12:35 +0000 (12:12 +0000)]
copy-in/copy-out: Wait for the tar subprocess only (RHBZ#760669).
Richard W.M. Jones [Wed, 7 Dec 2011 11:46:43 +0000 (11:46 +0000)]
fish: Improve error messages when no OS / multi-boot OS found with inspection (RHBZ#760775).
Hilko Bengen [Tue, 6 Dec 2011 19:42:11 +0000 (20:42 +0100)]
let the user explicitly choose ruby and rake programs
Richard W.M. Jones [Tue, 6 Dec 2011 15:10:46 +0000 (15:10 +0000)]
Version 1.15.10.
Hilko Bengen [Mon, 5 Dec 2011 17:35:57 +0000 (18:35 +0100)]
Fix rpcgen post-processing for out-of-tree builds
Richard W.M. Jones [Mon, 5 Dec 2011 10:36:13 +0000 (10:36 +0000)]
ruby: Use RSTRING_PTR, RSTRING_LEN for compat with Ruby 1.9 (RHBZ#760000).
Wanlong Gao [Mon, 5 Dec 2011 10:06:43 +0000 (18:06 +0800)]
blkid: split the RHEL5 which can't support some options
RHEL5 shoult not support '-p', '-i' and '-o export' options.
But we just split it according to the '-p' option.
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Wanlong Gao [Mon, 5 Dec 2011 08:57:22 +0000 (16:57 +0800)]
TODO: remove the implemented command blkid
Remove the implemented command blkid from TODO lists.
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Richard W.M. Jones [Sun, 4 Dec 2011 16:47:37 +0000 (16:47 +0000)]
Revert "blkid: Use -c /dev/null because RHEL 5 blkid doesn't have -p option."
This reverts commit
6533491b178d18bfab8240cf093be4ef9b547548.
Richard W.M. Jones [Sun, 4 Dec 2011 16:47:29 +0000 (16:47 +0000)]
Revert "blkid: Fix mistake in previous commit."
This reverts commit
c48226a5026816b115ab63b50d3601531aff59dc.
Richard W.M. Jones [Sat, 3 Dec 2011 23:16:00 +0000 (23:16 +0000)]
blkid: Fix mistake in previous commit.
This updates commit
6533491b178d18bfab8240cf093be4ef9b547548.
Richard W.M. Jones [Sat, 3 Dec 2011 22:58:03 +0000 (22:58 +0000)]
blkid: Use -c /dev/null because RHEL 5 blkid doesn't have -p option.
Richard W.M. Jones [Sat, 3 Dec 2011 14:34:52 +0000 (14:34 +0000)]
daemon: Use pkg-config to locate Augeas CFLAGS / libraries.
Augeas 0.10 depends on libxml2, so this is now required in the
appliance (in fact, it was already present).
However this exposed two bugs:
(1) In libguestfs we use a home-brewed recipe for Augeas flags,
resulting in this error:
/usr/include/augeas.h:24:25: fatal error: libxml/tree.h: No such file or directory
(2) Augeas's own augeas.pc didn't include the libxml2 flags, so
it was broken. This requires a patch to Augeas 0.10, see:
https://www.redhat.com/archives/augeas-devel/2011-December/msg00008.html
Change to using pkg-config to detect Augeas. It is still an optional
library.
Richard W.M. Jones [Sat, 3 Dec 2011 12:59:27 +0000 (12:59 +0000)]
Version 1.15.9.
Wanlong Gao [Sat, 3 Dec 2011 09:07:47 +0000 (17:07 +0800)]
NEW API: add blkid command to print the attributes of the device
A NEW API blkid.
It can print the device attributes.
Use it after list-devices, we can list ower devices and the attributes
of each device.
Use it like:
blkid <device>
It's should be a usefull function.
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Richard W.M. Jones [Fri, 2 Dec 2011 15:03:19 +0000 (15:03 +0000)]
extra tests: Test that valgrind and libtool are installed.
Matthew Booth [Fri, 2 Dec 2011 14:04:20 +0000 (14:04 +0000)]
inspection: Add a test for MD device mapping in fstab
Check that we properly handle fstab entries of the form /dev/md0 and
/dev/md/foo.
RWMJ: Add a skip to test if the Augeas lens is not available.
Matthew Booth [Fri, 2 Dec 2011 14:04:19 +0000 (14:04 +0000)]
inspection: Handle MD devices in fstab
This patch fixes inspection when fstab contains devices md devices
specified as /dev/mdN. The appliance creates these devices without reference to
the guest's mdadm.conf so, for e.g. /dev/md0 in the guest will often be created
as /dev/md127 in the appliance. With this patch, we match the uuids of detected
md devices against uuids specified in mdadm.conf, and map them appropriately
when we encounter them in fstab.
Matthew Booth [Fri, 2 Dec 2011 14:04:18 +0000 (14:04 +0000)]
build: Add more suppressions for valgrind tests
Wanlong Gao [Fri, 2 Dec 2011 13:47:51 +0000 (21:47 +0800)]
mkfs: enable to make xfs filesystems when the device already has a filesystem
Just add the -f option to mkfs.xfs to make sure we can
make a xfs filesystem when the device already has a
filesystem on it.
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Hilko Bengen [Thu, 1 Dec 2011 21:06:30 +0000 (22:06 +0100)]
libguestfs: Added gnulib includes from builddir, as suggested by the Gnulib documentation
Since some modules (`getopt', for example) may copy files
into the build directory, `top_builddir/lib' is needed as well as
`top_srcdir/lib'. -- GNU Gnulib manual, section 2.2 Initial import
Richard W.M. Jones [Wed, 30 Nov 2011 17:08:33 +0000 (17:08 +0000)]
todo: Suggestion for UUIDs in /etc/fstab (thanks Joshua Daniel Franklin).
Richard W.M. Jones [Wed, 30 Nov 2011 17:08:27 +0000 (17:08 +0000)]
ocaml: Fix OCaml dependencies.
Richard W.M. Jones [Tue, 29 Nov 2011 23:31:30 +0000 (23:31 +0000)]
Version 1.15.8.
Richard W.M. Jones [Tue, 29 Nov 2011 18:20:05 +0000 (18:20 +0000)]
python: Memory leak: Free roots array along handle close path.
Richard W.M. Jones [Tue, 29 Nov 2011 18:19:54 +0000 (18:19 +0000)]
perl: Memory leak: Free roots array along handle close path.
Richard W.M. Jones [Tue, 29 Nov 2011 17:47:18 +0000 (17:47 +0000)]
ruby: Memory leak: Free roots array along handle close path.
Richard W.M. Jones [Tue, 29 Nov 2011 17:51:59 +0000 (17:51 +0000)]
extra tests: Add comments about what is not tested here.
Richard W.M. Jones [Tue, 29 Nov 2011 17:32:19 +0000 (17:32 +0000)]
extra tests: Absolute path for 'run' command.
Richard W.M. Jones [Tue, 29 Nov 2011 17:22:56 +0000 (17:22 +0000)]
extra tests: Split up and reorder tests more logically.
Richard W.M. Jones [Tue, 29 Nov 2011 17:20:11 +0000 (17:20 +0000)]
extra tests: Test virt-sparsify.
This adds the virt-sparsify --debug-gc option which causes
virt-sparsify to call Gc.compact before exiting, allowing
GC and memory problems to be tested.
Add an extratest which runs virt-sparsify under valgrind.
Richard W.M. Jones [Tue, 29 Nov 2011 17:14:18 +0000 (17:14 +0000)]
extra tests: Test virt-resize.
This adds the virt-resize --debug-gc option which causes
virt-resize to call Gc.compact before exiting, allowing
GC and memory problems to be tested.
Add an extratest which runs virt-resize under valgrind.
Richard W.M. Jones [Tue, 29 Nov 2011 17:13:45 +0000 (17:13 +0000)]
ocaml: Load test should call Gc.compact to flag memory errors.
Richard W.M. Jones [Tue, 29 Nov 2011 17:13:17 +0000 (17:13 +0000)]
ocaml: Fix memory leak in bindings for functions that return buffers.
RBufferOut binding didn't free the buffer after copying it onto
the OCaml heap.
Found by valgrind.
Richard W.M. Jones [Tue, 29 Nov 2011 16:11:21 +0000 (16:11 +0000)]
Version 1.15.7.
Richard W.M. Jones [Tue, 29 Nov 2011 13:13:44 +0000 (13:13 +0000)]
extra tests: Run C API tests under valgrind.
Richard W.M. Jones [Tue, 29 Nov 2011 13:13:06 +0000 (13:13 +0000)]
protocol: Memory leak: Free temporary buffer along recv_discard path.
Richard W.M. Jones [Tue, 29 Nov 2011 12:52:15 +0000 (12:52 +0000)]
extra tests: Run OCaml tests under valgrind.
Richard W.M. Jones [Tue, 29 Nov 2011 12:51:20 +0000 (12:51 +0000)]
extra tests: Split VG variable into VG / RUN_VG.
This is just code motion.
Richard W.M. Jones [Tue, 29 Nov 2011 12:25:34 +0000 (12:25 +0000)]
ocaml: Memory leak: Free roots array along handle close path.
Matthew Booth [Fri, 25 Nov 2011 13:16:54 +0000 (13:16 +0000)]
inspection: Cleanup iteration over fstab entries in inspect_fs_unix.c
Select non-comment labels using an augeas path to return the correct
nodes in the first instance, rather than applying a regular expression
to all results.
There is no functional change to the code.
RWMJ:
- Rebased to current HEAD.
- Move variable decls to top of function.
- Some whitespace changes.
- Remove check for errors from snprintf since it can never happen.
Richard W.M. Jones [Mon, 28 Nov 2011 20:40:01 +0000 (20:40 +0000)]
inspection: Add outline support for GNU/Hurd.
Richard W.M. Jones [Mon, 28 Nov 2011 19:12:44 +0000 (19:12 +0000)]
fish: When -m option fails, canonicalize device names that are printed.
The error message now looks like this:
guestfish: '/dev/vda6' could not be mounted. Did you mean one of these?
/dev/sda1 (ext4)
/dev/vg_f15x32/lv_root (ext4)
/dev/vg_f15x32/lv_swap (swap)
Note that '/dev/sda1' has been canonicalized.
Richard W.M. Jones [Mon, 28 Nov 2011 19:07:30 +0000 (19:07 +0000)]
fish: Rearrange code for displaying mountpoints when -m option fails.
This also frees the list returned by guestfs_list_filesystems.
Richard W.M. Jones [Fri, 25 Nov 2011 08:34:59 +0000 (08:34 +0000)]
docs: Tidy up documentation for md-stop.
This cleans up commit
cbd1c45d95c530c8d94103dcc2c521bf5501ef59.
Richard W.M. Jones [Thu, 24 Nov 2011 20:28:02 +0000 (20:28 +0000)]
Version 1.15.6.
Richard W.M. Jones [Thu, 24 Nov 2011 20:17:57 +0000 (20:17 +0000)]
ubuntu: Add extra suppressions for libnl.1 leaks.
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.