libguestfs.git
15 years agoTest for "version" command should be InitNone.
Richard W.M. Jones [Sat, 11 Jul 2009 12:38:01 +0000 (13:38 +0100)]
Test for "version" command should be InitNone.

15 years agoAdd comment to the code about InitNone and InitEmpty.
Richard W.M. Jones [Sat, 11 Jul 2009 12:37:24 +0000 (13:37 +0100)]
Add comment to the code about InitNone and InitEmpty.

These two constructors are treated as identical, but they
should be distinct concepts.

15 years agoFix UPDATES and host_cpu in configure.ac.
Richard W.M. Jones [Sat, 11 Jul 2009 12:36:31 +0000 (13:36 +0100)]
Fix UPDATES and host_cpu in configure.ac.

UPDATES does not need to be propagated into config.h.

host_cpu was AC_DEFINE'd twice.

15 years agoDocumentation for virt-v2v.
Richard Jones [Sat, 11 Jul 2009 11:12:33 +0000 (12:12 +0100)]
Documentation for virt-v2v.

15 years agoV2V outline program.
Richard Jones [Sat, 11 Jul 2009 10:20:46 +0000 (11:20 +0100)]
V2V outline program.

15 years agoDon't list Java files explicitly, since these files are auto-generated.
Richard W.M. Jones [Fri, 10 Jul 2009 22:14:16 +0000 (23:14 +0100)]
Don't list Java files explicitly, since these files are auto-generated.

15 years agoVersion 1.0.58. 1.0.58
Richard W.M. Jones [Fri, 10 Jul 2009 21:46:06 +0000 (22:46 +0100)]
Version 1.0.58.

15 years agoProposal to add BufferIn and RBufferOut types (not implemented).
Richard W.M. Jones [Fri, 10 Jul 2009 21:15:53 +0000 (22:15 +0100)]
Proposal to add BufferIn and RBufferOut types (not implemented).

15 years agoSys::Guestfs::Lib: Exit with error if a libvirt domain appears to have no disks.
Richard W.M. Jones [Fri, 10 Jul 2009 21:01:50 +0000 (22:01 +0100)]
Sys::Guestfs::Lib: Exit with error if a libvirt domain appears to have no disks.

15 years agovirt-df: Recognise libvirt domains with file-backed disks.
Richard W.M. Jones [Fri, 10 Jul 2009 20:59:46 +0000 (21:59 +0100)]
virt-df: Recognise libvirt domains with file-backed disks.

File-backed disks (<source file="...">) didn't get recognised
before.  This patch fixes the problem.

15 years agoAdd --version options to virt-df, virt-inspector and virt-v2v.
Richard Jones [Fri, 10 Jul 2009 16:57:41 +0000 (17:57 +0100)]
Add --version options to virt-df, virt-inspector and virt-v2v.

15 years agoAdd 'version' call to get true library version number.
Richard Jones [Fri, 10 Jul 2009 16:52:09 +0000 (17:52 +0100)]
Add 'version' call to get true library version number.

This patch also changes the way that the version is specified
in configure.ac.  It is now made out of four parts (major, minor,
release and extra) and constructed for AC_INIT.

15 years agoMove 'use File::Temp' from virt-inspector program to Sys::Guestfs::Lib.
Richard Jones [Fri, 10 Jul 2009 15:28:15 +0000 (16:28 +0100)]
Move 'use File::Temp' from virt-inspector program to Sys::Guestfs::Lib.

15 years agoVersion 1.0.57. 1.0.57
Richard Jones [Fri, 10 Jul 2009 13:10:31 +0000 (14:10 +0100)]
Version 1.0.57.

15 years agoUpdate PO files.
Richard Jones [Fri, 10 Jul 2009 13:09:47 +0000 (14:09 +0100)]
Update PO files.

15 years agoAdditional C files for POTFILES.in.
Richard Jones [Fri, 10 Jul 2009 13:09:33 +0000 (14:09 +0100)]
Additional C files for POTFILES.in.

15 years agoRename internal subroutines with leading underscore character.
Richard Jones [Fri, 10 Jul 2009 13:02:45 +0000 (14:02 +0100)]
Rename internal subroutines with leading underscore character.

Otherwise Pod::Coverage in the tests will complain that the
internal subroutines are undocumented.

15 years agoWorking version of virt-df.
Richard Jones [Fri, 10 Jul 2009 12:04:17 +0000 (13:04 +0100)]
Working version of virt-df.

15 years agoFix for returning structures (hashes) from Perl calls.
Richard Jones [Fri, 10 Jul 2009 11:06:11 +0000 (12:06 +0100)]
Fix for returning structures (hashes) from Perl calls.

Calls such as stat and statvfs which returned a single structure
were returning an array of values instead of a full hash of keys +
values.

Fix this by pushing the key names on the stack too.

15 years ago'$_' should be marked as a local variable in Sys::Guestfs::Lib::open_guest.
Richard Jones [Fri, 10 Jul 2009 10:43:17 +0000 (11:43 +0100)]
'$_' should be marked as a local variable in Sys::Guestfs::Lib::open_guest.

15 years agoProperly close fds and unregister handlers in guestfs_close.
Richard Jones [Fri, 10 Jul 2009 10:41:43 +0000 (11:41 +0100)]
Properly close fds and unregister handlers in guestfs_close.

This caused a segfault if you tried to repeatedly open and close
a guestfs handle in the same program.  The reason is that the
old handler remained registered (not always - it was racey).

This adds proper cleanup to the guestfs_close path, also for file
descriptors.

15 years agoAdded framework for 'virt-df' command.
Richard Jones [Fri, 10 Jul 2009 09:44:20 +0000 (10:44 +0100)]
Added framework for 'virt-df' command.

15 years agoIgnore any file called 'localconfigure'.
Richard Jones [Fri, 10 Jul 2009 09:23:11 +0000 (10:23 +0100)]
Ignore any file called 'localconfigure'.

Developers should put their custom parameters for configure/autogen.sh
into a script called ./localconfigure, and this script will be ignored
by git and the build system.

15 years agoAdded outline of the virt-v2v script.
Richard Jones [Fri, 10 Jul 2009 09:22:47 +0000 (10:22 +0100)]
Added outline of the virt-v2v script.

15 years agoRemove virt-inspector --force option - it didn't do anything.
Richard Jones [Thu, 9 Jul 2009 18:37:09 +0000 (19:37 +0100)]
Remove virt-inspector --force option - it didn't do anything.

15 years agoSys::Guestfs::Lib minor documentation clean-up.
Richard Jones [Thu, 9 Jul 2009 18:25:01 +0000 (19:25 +0100)]
Sys::Guestfs::Lib minor documentation clean-up.

15 years agoMove the inspection analysis code into Sys::Guestfs::Lib library.
Richard Jones [Thu, 9 Jul 2009 17:29:08 +0000 (18:29 +0100)]
Move the inspection analysis code into Sys::Guestfs::Lib library.

Creates new functions:
  inspect_all_partitions
  inspect_partition
  inspect_operating_systems
  mount_operating_system
  inspect_in_detail

Includes far more documentation for the process.

15 years agoMove 'resolve_windows_path' to Sys::Guestfs::Lib.
Richard Jones [Thu, 9 Jul 2009 14:29:28 +0000 (15:29 +0100)]
Move 'resolve_windows_path' to Sys::Guestfs::Lib.

15 years agoMove 'get_partitions' call into Sys::Guestfs::Lib.
Richard Jones [Thu, 9 Jul 2009 13:35:34 +0000 (14:35 +0100)]
Move 'get_partitions' call into Sys::Guestfs::Lib.

15 years agoAdd Sys::Guestfs::Lib - useful functions for using libguestfs from Perl.
Richard Jones [Thu, 9 Jul 2009 13:01:58 +0000 (14:01 +0100)]
Add Sys::Guestfs::Lib - useful functions for using libguestfs from Perl.

This adds an extra Perl module called Sys::Guestfs::Lib which
adds useful functions for using libguestfs from Perl.

The intention is that common code shared between virt-inspector,
virt-df and virt-v2v will move into this library.

This patch also changes virt-inspector to use this library.

15 years agoJust whitespace changes in the generator code.
Richard Jones [Thu, 9 Jul 2009 13:01:10 +0000 (14:01 +0100)]
Just whitespace changes in the generator code.

15 years agoUpdate with links to the new mailing list.
Richard Jones [Wed, 8 Jul 2009 16:20:52 +0000 (17:20 +0100)]
Update with links to the new mailing list.

15 years agoFix checking of generator being run from the right directory.
Richard W.M. Jones [Tue, 7 Jul 2009 19:28:29 +0000 (20:28 +0100)]
Fix checking of generator being run from the right directory.

Originally it was looking for 'config.status', but this file
might not exist until configure has been run.  Make it look for
HACKING instead.

15 years agoVersion 1.0.56. 1.0.56
Richard W.M. Jones [Tue, 7 Jul 2009 19:06:27 +0000 (20:06 +0100)]
Version 1.0.56.

15 years agoRHEL 5: Mount squashfs with explicit type.
Richard Jones [Tue, 7 Jul 2009 18:39:58 +0000 (19:39 +0100)]
RHEL 5: Mount squashfs with explicit type.

15 years agoRHEL 5: Skip 'scrub' test if command is not in the initramfs.
Richard Jones [Tue, 7 Jul 2009 18:02:59 +0000 (19:02 +0100)]
RHEL 5: Skip 'scrub' test if command is not in the initramfs.

15 years agoRHEL 5: 'mkswap -U' not supported, check before testing it.
Richard Jones [Tue, 7 Jul 2009 18:01:45 +0000 (19:01 +0100)]
RHEL 5: 'mkswap -U' not supported, check before testing it.

15 years agoUpdate ocaml/.depend.
Richard Jones [Tue, 7 Jul 2009 16:34:31 +0000 (17:34 +0100)]
Update ocaml/.depend.

15 years agoRHEL 5: RHEL kernels don't have $arch at the end, so look for non-arch kernels too.
Richard Jones [Tue, 7 Jul 2009 16:33:47 +0000 (17:33 +0100)]
RHEL 5: RHEL kernels don't have $arch at the end, so look for non-arch kernels too.

15 years agoRHEL 5: $(builddir) did not exist with this old autoconf/automake, so workaround.
Richard Jones [Tue, 7 Jul 2009 16:33:09 +0000 (17:33 +0100)]
RHEL 5: $(builddir) did not exist with this old autoconf/automake, so workaround.

15 years agoRHEL 5: for (int i = ...) is not permitted with this old version of GCC.
Richard Jones [Tue, 7 Jul 2009 16:32:34 +0000 (17:32 +0100)]
RHEL 5: for (int i = ...) is not permitted with this old version of GCC.

15 years agoMerge branch 'master' of git://git.et.redhat.com/libguestfs
Richard Jones [Tue, 7 Jul 2009 15:55:51 +0000 (16:55 +0100)]
Merge branch 'master' of git://git.et.redhat.com/libguestfs

15 years agoGenerate structs and struct lists generically.
Richard Jones [Tue, 7 Jul 2009 12:42:34 +0000 (13:42 +0100)]
Generate structs and struct lists generically.

This modifies the way that struct and struct lists are generated
(for return values) so that there is no need to add an explicit
new type when adding a new structure.

All tests pass, and the C API should be compatible.

I have also inspected the changes that are made to the generated
code by hand.

15 years agoFix for 349814e9d912c4: Get correct path when building Ruby bindings.
Richard Jones [Tue, 7 Jul 2009 12:03:36 +0000 (13:03 +0100)]
Fix for 349814e9d912c4: Get correct path when building Ruby bindings.

15 years agoTest two (of four) cancellation paths.
Richard Jones [Mon, 6 Jul 2009 15:01:51 +0000 (16:01 +0100)]
Test two (of four) cancellation paths.

15 years agoAdd a debug message to the library cancellation path.
Richard Jones [Mon, 6 Jul 2009 15:01:23 +0000 (16:01 +0100)]
Add a debug message to the library cancellation path.

15 years agoIntroduce regression tests for various qemu failures.
Richard Jones [Mon, 6 Jul 2009 12:10:25 +0000 (13:10 +0100)]
Introduce regression tests for various qemu failures.

Test failure of qemu and recovery of the library:
 - mid-command
 - between commands
 - during launch [test not working yet]
 - explicitly killed by guestfs_kill_subprocess

Also this patch cleans up the other tests in this directory
and disables the long-winded test-bootbootboot test.

15 years agoguestfish: Always fflush stdout between commands.
Richard Jones [Mon, 6 Jul 2009 11:46:44 +0000 (12:46 +0100)]
guestfish: Always fflush stdout between commands.

15 years agoWhitespace change in ocaml/.depend file.
Richard Jones [Mon, 6 Jul 2009 11:37:14 +0000 (12:37 +0100)]
Whitespace change in ocaml/.depend file.

15 years agoAdd 'get-pid' command.
Richard Jones [Mon, 6 Jul 2009 11:30:59 +0000 (12:30 +0100)]
Add 'get-pid' command.

This is used to get the PID of the qemu subprocess, mainly for
debugging and testing purposes.

15 years agoTodo: Remote-control guestfish through a pipe.
Richard Jones [Mon, 6 Jul 2009 11:30:33 +0000 (12:30 +0100)]
Todo: Remote-control guestfish through a pipe.

15 years agoSort the .gitignore file (no semantic change).
Richard Jones [Mon, 6 Jul 2009 11:05:55 +0000 (12:05 +0100)]
Sort the .gitignore file (no semantic change).

15 years agoRemove files generated by autoreconf (Guido Gunter and Matthew Booth).
Richard Jones [Mon, 6 Jul 2009 11:03:35 +0000 (12:03 +0100)]
Remove files generated by autoreconf (Guido Gunter and Matthew Booth).

15 years agoDon't die if reply message is oversized (RHBZ#509597).
Richard Jones [Sun, 5 Jul 2009 15:04:50 +0000 (16:04 +0100)]
Don't die if reply message is oversized (RHBZ#509597).

15 years agouse 'stupid_simple' instead of 'nested' initramfs
Guido Günther [Sat, 4 Jul 2009 12:41:23 +0000 (14:41 +0200)]
use 'stupid_simple' instead of 'nested' initramfs

speeds up start of the appliance

15 years agoselect proper kernel by architecture
Guido Günther [Fri, 3 Jul 2009 20:20:05 +0000 (22:20 +0200)]
select proper kernel by architecture

15 years agoMake it possible to build in a separate directory
Matthew Booth [Fri, 3 Jul 2009 10:52:50 +0000 (11:52 +0100)]
Make it possible to build in a separate directory

This patch allows you to do:
mkdir build
cd build
../configure ...
make

This will output all generated files to the build directory. Given that
autogen automatically runs configure, you can also do:

BUILDDIR=./build ./autogen.sh

which will do the right thing.

Also:

* Fix a dependency bug which means that guestfs_protocol.h
  isn't automatically rebuilt.
* Re-running autogen.sh with no arguments won't blow away your previous
  configure arguments.

15 years agogenerate slightly more "const-correct" code
Jim Meyering [Fri, 3 Jul 2009 12:17:23 +0000 (14:17 +0200)]
generate slightly more "const-correct" code

* src/generator.ml: Add a few "const" attributes.

15 years agoavoid leak upon failed realloc
Jim Meyering [Fri, 3 Jul 2009 10:05:22 +0000 (12:05 +0200)]
avoid leak upon failed realloc

* daemon/guestfsd.c (commandrv): Free original buffer (rather
than leaking it) if realloc fails.

15 years agoremove trailing blanks
Jim Meyering [Fri, 3 Jul 2009 09:53:49 +0000 (11:53 +0200)]
remove trailing blanks

15 years agodaemon/readdir: avoid a small leak
Jim Meyering [Fri, 3 Jul 2009 09:52:19 +0000 (11:52 +0200)]
daemon/readdir: avoid a small leak

* daemon/readdir.c (do_readdir): Free both p and v.name, in case
only one of the allocations failed.

15 years agotouch fakeroot.log
Guido Günther [Thu, 2 Jul 2009 15:30:40 +0000 (17:30 +0200)]
touch fakeroot.log

indicationg we're done creating the appliance

15 years agoremove superflous debirf scripts
Guido Günther [Fri, 3 Jul 2009 10:42:38 +0000 (12:42 +0200)]
remove superflous debirf scripts

15 years agoGuestfish tab-completion on destination paths, fixed this time.
Richard W.M. Jones [Fri, 3 Jul 2009 11:02:21 +0000 (12:02 +0100)]
Guestfish tab-completion on destination paths, fixed this time.

Tab-completion on destination paths should now work correctly.

15 years agoDon't keep rebuilding debirf module symlinks.
Richard W.M. Jones [Fri, 3 Jul 2009 10:31:01 +0000 (11:31 +0100)]
Don't keep rebuilding debirf module symlinks.

15 years ago'readdir-and-stat' call is now effectively implemented.
Richard W.M. Jones [Fri, 3 Jul 2009 10:10:49 +0000 (11:10 +0100)]
'readdir-and-stat' call is now effectively implemented.

15 years agoAdd Debian appliance directory to the distfile.
Richard W.M. Jones [Fri, 3 Jul 2009 09:47:10 +0000 (10:47 +0100)]
Add Debian appliance directory to the distfile.

'make dist' won't copy symlinks into the output file, so we
have to add a rule to the Makefile to copy these.

(Issue reported by Guido Gunther).

15 years agoMerge branch 'master' of git+ssh://192.168.122.1/home/rjones/d/libguestfs
Richard Jones [Thu, 2 Jul 2009 23:22:14 +0000 (00:22 +0100)]
Merge branch 'master' of git+ssh://192.168.122.1/home/rjones/d/libguestfs

15 years agouse safe_malloc and safe_calloc in generated code
Jim Meyering [Thu, 2 Jul 2009 13:39:08 +0000 (15:39 +0200)]
use safe_malloc and safe_calloc in generated code

* src/generator.ml (safe_malloc): Define to guestfs_safe_malloc.
(safe_calloc): Define to guestfs_safe_calloc.
[most generated code]: Fail immediately upon failure of otherwise-
unchecked malloc and calloc calls.
* src/guestfs.c: Include <stddef.h>.
(xalloc_oversized): Define.
* src/guestfs.h (guestfs_safe_calloc): Declare.

15 years agoprefer sizeof *VAR over sizeof TYPE (no semantic change)
Jim Meyering [Thu, 2 Jul 2009 13:25:58 +0000 (15:25 +0200)]
prefer sizeof *VAR over sizeof TYPE (no semantic change)

* src/generator.ml: Slightly safer, in case the
declared type ever changes.

15 years agoPrepare for 1.0.55. PO files also updated. 1.0.55
Richard W.M. Jones [Thu, 2 Jul 2009 20:51:47 +0000 (21:51 +0100)]
Prepare for 1.0.55.  PO files also updated.

15 years agoAdd 'sfdiskM' command.
Richard W.M. Jones [Thu, 2 Jul 2009 20:50:30 +0000 (21:50 +0100)]
Add 'sfdiskM' command.

This command is a saner interface to partitioning.

All partition sizes are specified in megabytes (not cylinders).
You don't need to specify the cyls/heads/secs parameters.

All the test code has been updated to use this, so it is now
CHS-independent (eg. when CHS changes as between IDE and virtio).

15 years agoRemove generated files guestfs_protocol.[ch].
Richard W.M. Jones [Thu, 2 Jul 2009 20:48:17 +0000 (21:48 +0100)]
Remove generated files guestfs_protocol.[ch].

These generated files were accidentally left in when we
removed the other generated files in cset
b3cb0b04eb2d38ba32c160a83d8e3894b376907b.

15 years agoDon't rebuild the whole appliance if just the /init script has been changed.
Richard W.M. Jones [Thu, 2 Jul 2009 20:33:51 +0000 (21:33 +0100)]
Don't rebuild the whole appliance if just the /init script has been changed.

15 years agoImprove virtio-blk performance (RHBZ#509383).
Richard W.M. Jones [Thu, 2 Jul 2009 20:32:59 +0000 (21:32 +0100)]
Improve virtio-blk performance (RHBZ#509383).

15 years agoAdd ./configure --with-drive-if=(ide|scsi|virtio)
Richard W.M. Jones [Thu, 2 Jul 2009 16:38:55 +0000 (17:38 +0100)]
Add ./configure --with-drive-if=(ide|scsi|virtio)

With this flag the packager can decide to default to a particular
qemu drive model.  The current default is 'ide', however note that
we intend to change this in future to 'virtio' once some upstream
regressions are fixed.  Packagers can force a particular drive
model if they wish.

15 years agoAdd the guestfish 'time' command.
Richard W.M. Jones [Thu, 2 Jul 2009 15:02:32 +0000 (16:02 +0100)]
Add the guestfish 'time' command.

 ><fs> time sfdisk /dev/sda 0 0 0 ,
 elapsed time: 6.12 seconds

15 years agoAdd list of function_names to the daemon.
Richard W.M. Jones [Thu, 2 Jul 2009 14:11:59 +0000 (15:11 +0100)]
Add list of function_names to the daemon.

Messages which include the proc_nr can now also include the
name of the actual function being called.

15 years agoIn verbose mode, daemon will display the time elapsed for each command.
Richard W.M. Jones [Thu, 2 Jul 2009 13:11:19 +0000 (14:11 +0100)]
In verbose mode, daemon will display the time elapsed for each command.

15 years agoIgnore generated file appliance/debian/debirf.conf
Richard W.M. Jones [Thu, 2 Jul 2009 13:10:55 +0000 (14:10 +0100)]
Ignore generated file appliance/debian/debirf.conf

15 years agoBuild Debian based appliance using debirf
Guido Günther [Tue, 30 Jun 2009 13:01:14 +0000 (15:01 +0200)]
Build Debian based appliance using debirf

15 years agoadd debirf files
Guido Günther [Tue, 16 Jun 2009 21:47:36 +0000 (23:47 +0200)]
add debirf files

15 years agounconditionally load dm module
Guido Günther [Thu, 2 Jul 2009 08:46:37 +0000 (10:46 +0200)]
unconditionally load dm module

needed for device mapper (LVM)

15 years agoadd missing module
Guido Günther [Tue, 30 Jun 2009 12:44:09 +0000 (14:44 +0200)]
add missing module

for modularized Debian kernels

15 years agoavoid automake failure
Jim Meyering [Thu, 2 Jul 2009 11:36:04 +0000 (13:36 +0200)]
avoid automake failure

* daemon/configure.ac: Use AM_PROG_CC_C_O, not AC_PROG_CC_C_O.

15 years agoarrange to build some generated sources
Jim Meyering [Thu, 2 Jul 2009 11:30:07 +0000 (13:30 +0200)]
arrange to build some generated sources

* src/Makefile.am (BUILT_SOURCES): Define.
($(BUILT_SOURCES)): Depend on stamp-generator.

15 years agoRe-add src/MAX_PROC_NR (generated file).
Richard W.M. Jones [Thu, 2 Jul 2009 12:07:07 +0000 (13:07 +0100)]
Re-add src/MAX_PROC_NR (generated file).

This file is required by configure, so we need to add it so
it is available after the git checkout.

15 years agoMemoize the output of pod2text function in the generator.
Richard W.M. Jones [Thu, 2 Jul 2009 11:23:08 +0000 (12:23 +0100)]
Memoize the output of pod2text function in the generator.

This speeds up the generator greatly.

15 years agoUpdated PO files.
Richard W.M. Jones [Thu, 2 Jul 2009 11:04:54 +0000 (12:04 +0100)]
Updated PO files.

15 years agoRemove generated code from git.
Richard W.M. Jones [Thu, 2 Jul 2009 10:38:36 +0000 (11:38 +0100)]
Remove generated code from git.

Git users now require the OCaml compiler in order to regenerate
the generated code after a checkout.

Generated code will remain in the tarball, so users of the
source tarball will not need the OCaml compiler.

15 years agoGenerator now runs automatically when it has changed.
Richard W.M. Jones [Thu, 2 Jul 2009 10:29:00 +0000 (11:29 +0100)]
Generator now runs automatically when it has changed.

15 years agoAdd 'readdir' call.
Richard W.M. Jones [Wed, 1 Jul 2009 19:56:58 +0000 (20:56 +0100)]
Add 'readdir' call.

This adds a readdir call (mostly intended for programs).  The
return value is a list of guestfs_dirent structures.

This adds the new types 'struct guestfs_dirent' and
'struct guestfs_dirent_list', along with all the code to
return these in the different language bindings.

Also includes additional tests for OCaml and Perl bindings
to test this.

15 years agofish: handle some out-of-memory conditions
Jim Meyering [Wed, 1 Jul 2009 14:09:33 +0000 (16:09 +0200)]
fish: handle some out-of-memory conditions

* fish/destpaths.c (xalloc_oversized): Define.
(complete_dest_paths_generator): Use size_t as type for a few
variables, rather than int.
Don't deref NULL or undef on failed heap alloc.
Don't leak on failed realloc.
Detect theoretical overflow when count_strings returns a very
large number of strings.
Handle asprintf failure.
(APPEND_STRS_AND_FREE): Rewrite as do {...}while(0), so that each use
can/must be followed by a semicolon.  Better for auto-formatters.

15 years agoCall 'udevadm settle' after operations which add/remove device nodes.
Richard W.M. Jones [Wed, 1 Jul 2009 16:15:24 +0000 (17:15 +0100)]
Call 'udevadm settle' after operations which add/remove device nodes.

Because udev operates asynchronously, we found errors which were
caused by a previous command (eg. sfdisk or pvremove) creating
or removing a device, and that change not having happened by the
time the next command was run.

This patch adds calls to '/sbin/udevadm settle' after any commands
which can add or remove device nodes.

If udev is not being used or not available, this should have no
effect.  The command fails and this is silently ignored.

15 years agoAll instances of 'pclose' now check for return value != 0.
Richard W.M. Jones [Wed, 1 Jul 2009 16:13:39 +0000 (17:13 +0100)]
All instances of 'pclose' now check for return value != 0.

We are generally interested that the subcommand ran without
error, ie. had exit status of 0.  'pclose' returns the exit
status, so we now check that pclose (fp) != 0.

15 years agoFix error handling of external sfdisk command.
Richard W.M. Jones [Wed, 1 Jul 2009 15:36:13 +0000 (16:36 +0100)]
Fix error handling of external sfdisk command.

Should use 'pclose' instead of 'fclose' (although fclose happens
to work because of glibc internals).

The result of pclose is the exit status of the command, so we
need to test this is != 0.

15 years agoGenerated code for the virtio_blk change.
Richard W.M. Jones [Tue, 30 Jun 2009 13:01:40 +0000 (14:01 +0100)]
Generated code for the virtio_blk change.

15 years agoChange to use virtio_blk (virtio block device) by default.
Richard W.M. Jones [Tue, 30 Jun 2009 12:59:29 +0000 (13:59 +0100)]
Change to use virtio_blk (virtio block device) by default.

virtio_blk is the fast, virt-native block device driver
supported by qemu and KVM.  Note that virtio_blk device
names are called /dev/vd*.

Existing scripts should continue working because device name
translation will silently change device names of the form
/dev/sd* to /dev/vd* as required.

See also:
http://libguestfs.org/guestfs.3.html#block_device_naming

15 years agoDon't dereference or free undefined "msg" upon OOM.
Jim Meyering [Wed, 1 Jul 2009 13:45:01 +0000 (15:45 +0200)]
Don't dereference or free undefined "msg" upon OOM.

* src/guestfs.c (guestfs_error): Handle failing vasprintf.

15 years agoAdd libguestfs(3) as an alias manpage for guestfs(3).
Richard W.M. Jones [Wed, 1 Jul 2009 13:51:06 +0000 (14:51 +0100)]
Add libguestfs(3) as an alias manpage for guestfs(3).