Richard Jones [Mon, 19 Apr 2010 19:13:05 +0000 (20:13 +0100)]
docs: Clarify documentation for mknod (RHBZ#582948).
Richard Jones [Mon, 19 Apr 2010 16:25:58 +0000 (17:25 +0100)]
Update PO files.
Richard Jones [Mon, 19 Apr 2010 16:13:46 +0000 (17:13 +0100)]
Prepare for version 1.3.5.
Richard Jones [Mon, 19 Apr 2010 16:09:58 +0000 (17:09 +0100)]
New APIs: base64-in and base64-out for uploading/downloading base64 content.
Richard Jones [Mon, 19 Apr 2010 15:31:24 +0000 (16:31 +0100)]
New API: debug-upload (not a formal part of the API/ABI).
Allow arbitrary files to be uploaded into the appliance, but
only when --enable-debug-command is enabled. This lets you
run shell scripts, like this:
><fs> debug-upload -<<EOF /tmp/script.sh 0700
#!/bin/sh -
# ...
EOF
><fs> debug sh "/tmp/script.sh"
Richard Jones [Mon, 19 Apr 2010 13:41:01 +0000 (14:41 +0100)]
fish: Allow -<<END as a syntax for uploading "heredocs".
For example:
><fs> upload -<<END /foo
some data
some more data
END
><fs> cat /foo
some data
some more data
Richard Jones [Mon, 19 Apr 2010 10:49:08 +0000 (11:49 +0100)]
todo docs: Feature for base64 uploads and scripts.
Richard Jones [Mon, 19 Apr 2010 09:20:58 +0000 (10:20 +0100)]
docs: Add virt-resize(1) link to guestfish(1) manpage.
Richard Jones [Sat, 17 Apr 2010 21:19:20 +0000 (22:19 +0100)]
Version 1.3.4
Richard Jones [Sat, 17 Apr 2010 19:41:28 +0000 (20:41 +0100)]
todo documentation: Idea: List, mount filesystems by UUID and label.
Richard Jones [Sat, 17 Apr 2010 19:36:11 +0000 (20:36 +0100)]
todo documentation: remove 'virt-grow/shrink', see virt-resize
Richard Jones [Sat, 17 Apr 2010 19:35:34 +0000 (20:35 +0100)]
todo documentation: virt-rescue now uses $TERM from library, remove from todo list
Richard Jones [Sat, 17 Apr 2010 19:34:35 +0000 (20:34 +0100)]
todo documentation: Remove old section on PPC bugs.
No one cares for PPC, and if they do they should file these
as bugs in the bug tracker.
Richard Jones [Sat, 17 Apr 2010 19:34:21 +0000 (20:34 +0100)]
todo documentation: Remove old ideas for Python bindings.
Richard Jones [Sat, 17 Apr 2010 15:33:07 +0000 (16:33 +0100)]
Documentation: Use 'g' instead of 'handle' in documentation.
By convention we use 'g' for handles. Copy this convention
through to all the documentation.
Richard Jones [Sat, 17 Apr 2010 15:24:03 +0000 (16:24 +0100)]
In guestfs(3), unmount "/" directory in the example.
Richard Jones [Sat, 17 Apr 2010 15:22:53 +0000 (16:22 +0100)]
Add compilation/linking example to guestfs(3) man page.
Richard Jones [Sat, 17 Apr 2010 14:59:41 +0000 (15:59 +0100)]
generator: Use shortname in check_state() call.
Saves a tiny bit of space in the library.
Richard Jones [Sat, 17 Apr 2010 14:46:08 +0000 (15:46 +0100)]
Build top-level directories in a more logical order.
Richard Jones [Sat, 17 Apr 2010 14:41:16 +0000 (15:41 +0100)]
Rerun generator if images/test.iso does not exist or has been updated.
The MD5 hash of this file is embedded in the output of the
generator.
Richard Jones [Sat, 17 Apr 2010 13:25:55 +0000 (14:25 +0100)]
Fix upload losing synchronization if root not mounted (RHBZ#576879).
Modify the generator so that it can correctly handle early
cancellation for Pathname|Device|.. parameters. This fixes
the upload command, but consequently we need to fix the
parameters for tar_in and t?z_in commands. This should also
mean that 'win:' can now be used as the second argument of
tar_in and t?z_in commands in guestfish, whereas previously
this wouldn't have worked.
Adds a regression test for the original problem.
Richard Jones [Sat, 17 Apr 2010 13:14:30 +0000 (14:14 +0100)]
generator: Fix typo in a comment.
Richard Jones [Sat, 17 Apr 2010 12:33:14 +0000 (13:33 +0100)]
Improved checking, documentation of modes (RHBZ#582901, RHBZ#582929).
chmod: Disallow negative mode, document mode affected by umask.
mkdir-mode: Disallow negative mode, document that filesystems
may interpret the mode in different ways.
mknod: Disallow negative mode, document mode affected by umask.
umask: Check the range of umask mask value carefully.
Richard Jones [Sat, 17 Apr 2010 12:11:20 +0000 (13:11 +0100)]
fish: Autocomplete 'sparse' command (RHBZ#582899).
I also rechecked the list of built-in commands against
the actual commands to make sure no others were omitted.
Richard Jones [Sat, 17 Apr 2010 12:07:56 +0000 (13:07 +0100)]
New API: get-umask, returns the current umask (RHBZ#582891).
Richard Jones [Sat, 17 Apr 2010 11:38:18 +0000 (12:38 +0100)]
Add a build test for the 'umask' command.
Richard Jones [Sat, 17 Apr 2010 11:33:31 +0000 (12:33 +0100)]
fish: Print output from some commands in octal/hex as approp. (RHBZ#583242).
Richard Jones [Sat, 17 Apr 2010 11:13:23 +0000 (12:13 +0100)]
Documentation: lvcreate should say 'logical volume' (RHBZ#582953)
Daniel Cabrera [Wed, 14 Apr 2010 13:59:30 +0000 (14:59 +0100)]
Update Spanish translations (RHBZ#582252).
Matthew Booth [Wed, 14 Apr 2010 10:13:04 +0000 (11:13 +0100)]
Fix build error in fuse/guestmount.c.
guestmount.c: In function 'main':
guestmount.c:899: error: implicit declaration of function 'setlocale'
[-Wimplicit-function-declaration]
guestmount.c wasn't including locale.h.
Richard Jones [Tue, 13 Apr 2010 17:42:27 +0000 (18:42 +0100)]
New API: Add aug-clear call for clearing an Augeas node.
Richard Jones [Tue, 13 Apr 2010 21:06:43 +0000 (22:06 +0100)]
fish: Allow '-' prefix on command line to override exit on error (RHBZ#578407).
Allow -cmd on the command line to mean that normal exit on error
behaviour is overridden, ie. we will not exit.
This allows you to do:
guestfish -- command : -command : command
with the second command allowing errors. (Note that '--' is required
to stop getopt parsing -command as an option).
Also this fixes the remote case which is what the original
bug report was about.
Richard Jones [Tue, 13 Apr 2010 20:26:14 +0000 (21:26 +0100)]
fish: Update documentation: Add another pipe example.
Richard Jones [Tue, 13 Apr 2010 20:25:50 +0000 (21:25 +0100)]
fish: Update documentation: Using 'lcd' command to change local directory.
Richard Jones [Mon, 12 Apr 2010 18:52:03 +0000 (19:52 +0100)]
Update PO files.
Richard Jones [Mon, 12 Apr 2010 18:32:38 +0000 (19:32 +0100)]
Prepare for version 1.3.3.
Richard Jones [Mon, 12 Apr 2010 15:34:36 +0000 (16:34 +0100)]
resize: Add --LV-expand option for expanding Linux LVs.
Richard Jones [Mon, 12 Apr 2010 15:33:46 +0000 (16:33 +0100)]
New API: lvresize-free to extend LVs into percentage of free space.
Richard Jones [Mon, 12 Apr 2010 15:34:57 +0000 (16:34 +0100)]
Fix time and timezone to be correct within the appliance.
Richard Jones [Mon, 12 Apr 2010 17:54:58 +0000 (18:54 +0100)]
resize: Fix missing newline from end of print.
Richard Jones [Mon, 12 Apr 2010 15:32:55 +0000 (16:32 +0100)]
resize: Fix regular expression to exactly match ^ext[234]$
Richard Jones [Mon, 12 Apr 2010 11:17:08 +0000 (12:17 +0100)]
virt-resize: Mention alternate tools like gparted in the documentation.
Daniel Cabrera [Mon, 12 Apr 2010 15:31:43 +0000 (16:31 +0100)]
Updated Spanish translation (RHBZ#581501).
Richard Jones [Sun, 11 Apr 2010 16:02:18 +0000 (17:02 +0100)]
Documentation updates.
Fix copyright years.
Fix URLs to point to new PRC site.
Make sure guestfish(1) and guestfs(3) manpages reference the
current list of tools.
Richard Jones [Sat, 10 Apr 2010 20:54:04 +0000 (21:54 +0100)]
Version 1.3.2
Richard Jones [Sat, 10 Apr 2010 20:23:27 +0000 (21:23 +0100)]
New API: checksum-device for checksumming devices.
Analogous to the usual 'checksum' call.
Richard Jones [Sat, 10 Apr 2010 12:38:26 +0000 (13:38 +0100)]
virt-resize: Enhance virt-resize so it can expand partition content.
Enhance virt-resize so it can expand "first level" partition
content, including ext/2/3/4/ntfs filesystems and PVs.
Also extensively update the documentation.
This has been tested on a variety of Linux and Windows guests.
Richard Jones [Sat, 10 Apr 2010 12:21:33 +0000 (13:21 +0100)]
virt-list-partitions: Add -t / --total option.
This option lists out block devices separately:
$ virt-list-partitions -lht /tmp/WindowsResized.img
/dev/sda1 ntfs 100.0M
/dev/sda2 ntfs 11.9G
/dev/sda device 12.0G
Richard Jones [Sat, 10 Apr 2010 12:35:31 +0000 (13:35 +0100)]
Bugfixes for virt-resize.
- copy more than 64 boot loader sectors across, since real boot
loaders (eg. for Windows) can be much larger than this
- copy bootable flag and ID byte to new partitions
- start the first partition on the new disk at the same sector
offset as on the old disk
- sync the disks before existing
Richard Jones [Sat, 10 Apr 2010 12:19:43 +0000 (13:19 +0100)]
New partition APIs: part_del, part_get_bootable, part_get/set_mbr_id
These APIs flesh out further the partitioning API.
Richard Jones [Sat, 10 Apr 2010 12:17:50 +0000 (13:17 +0100)]
daemon: More reliable parsing of the output from 'parted print'.
Previously we used strtok. However this has the problem that
strtok considers multiple delimiter characters to be like a single
delimiter, eg. "1:::2" would be parsed the same as "1:2". In
other words, the previous code would skip over or fail if there
are empty fields.
Richard Jones [Sat, 10 Apr 2010 12:16:19 +0000 (13:16 +0100)]
daemon: Make the RUN_PARTED macro take an error statement.
This allows us to make the RUN_PARTED macro do something else
along the error path, other than just returning -1.
Richard Jones [Sat, 10 Apr 2010 12:14:54 +0000 (13:14 +0100)]
Documentation: Clarify documentation on the bootable flag.
Richard Jones [Sat, 10 Apr 2010 12:14:12 +0000 (13:14 +0100)]
New API: vgscan
Implement vgscan to allow for a full rescan of all LVM
PVs, VGs and LVs.
Richard Jones [Sat, 10 Apr 2010 12:13:07 +0000 (13:13 +0100)]
New API: ntfsresize.
This implements the ntfsresize operation, using the external
program from ntfsprogs.
Richard Jones [Sat, 10 Apr 2010 12:20:52 +0000 (13:20 +0100)]
virt-make-fs: Use Sys::Guestfs::Lib::feature_available helper function.
Richard Jones [Fri, 9 Apr 2010 08:40:59 +0000 (09:40 +0100)]
Allow aug-ls to take Augeas variable as argument (RHBZ#580016).
Richard Jones [Thu, 8 Apr 2010 18:33:57 +0000 (19:33 +0100)]
Remove warning "No grub default" (RHBZ#580650).
Richard Jones [Thu, 8 Apr 2010 18:07:45 +0000 (19:07 +0100)]
If qemu dies during launch in "null vmchannel" mode, don't hang (RHBZ#579155).
Detect if qemu dies during launch by wait(2)-ing for it, and
then getting EOF on the qemu pipe. This was broken in null
vmchannel mode, causing a hang.
Richard Jones [Thu, 8 Apr 2010 18:06:00 +0000 (19:06 +0100)]
Don't kill self accidentally.
Always check that pid > 0 before calling kill (pid, 9). The
issue was that sometimes pid == 0, and this ends up killing
ourselves.
Richard Jones [Thu, 8 Apr 2010 17:53:40 +0000 (18:53 +0100)]
Fix for "warning: unexpected connection from UID ..."
This warning is currently a fatal error. The code attempts
to retry the accept call, but because we don't reset sock = -1
the retry doesn't happen and it dies anyway.
Set sock = -1 so the retry attempt can happen.
Richard Jones [Thu, 8 Apr 2010 15:07:32 +0000 (16:07 +0100)]
New API calls to upload/download txz files (RHBZ#580556).
Richard Jones [Thu, 8 Apr 2010 14:49:14 +0000 (15:49 +0100)]
configure: Default to using Fedora 12 repo (was Fedora 11).
Fedora 11 is almost EOL at this point.
Richard Jones [Thu, 8 Apr 2010 14:17:07 +0000 (15:17 +0100)]
Version 1.3.1.
Richard Jones [Wed, 7 Apr 2010 19:30:46 +0000 (20:30 +0100)]
New tool: virt-make-fs for creating filesystems on devices.
Richard Jones [Wed, 7 Apr 2010 20:04:01 +0000 (21:04 +0100)]
Code cleanups related to RHBZ#580246.
This includes various code cleanups:
(a) A regression test for RHBZ#580246.
(b) Use write instead of fwrite to write out the tar file. This is
just because the error handling of write seems to be better
specified and easier to use.
(c) Use size_t instead of int for length.
(d) Clearer debug messages when in verbose mode.
Richard Jones [Thu, 8 Apr 2010 07:48:38 +0000 (08:48 +0100)]
Fix tar-in command hangs when running out of disk space (RHBZ#580246).
The problem was this sequence of events:
(1) File transfer goes through OK.
(2) pclose returns failure (because 'tar' subprocess failed)
(3) We try to cancel the transfer by calling cancel_receive.
Step (3) fails because the transfer (as far as the library is
concerned) has succeeded, so causing a hang.
The more fundamental reason why we see steps (1) and (2) is that
'tar' does NOT fail immediately if there is a write error. Instead
it continues reading and discarding the input until the end of the
input before giving "Error exit delayed from previous errors".
IMHO this is a bug with tar, since an ENOSPC write error should
be fatal for tar.
Richard Jones [Tue, 6 Apr 2010 22:54:08 +0000 (23:54 +0100)]
fish: Print extended help when the user types an unknown command first.
$ guestfish /tmp/disk.img
/tmp/disk.img: unknown command
Did you mean to open a disk image? guestfish -a disk.img
For a list of commands: guestfish -h
For complete documentation: man guestfish
Richard Jones [Tue, 6 Apr 2010 10:03:03 +0000 (11:03 +0100)]
Check error returns from posix_fallocate (RHBZ#579664).
posix_fallocate has a non-standard way to return error indications.
Thus all our calls to posix_fallocate were effectively unchecked. For
example:
$ guestfish alloc test.img 1P
$ echo $?
0
$ ll test.img
-rw-rw-r--. 1 rjones rjones 0 2010-04-06 11:02 test.img
$ rm test.img
With this change, errors are detected and reported properly:
$ ./fish/guestfish alloc test.img 1P
fallocate: File too large
This is a fix for:
https://bugzilla.redhat.com/show_bug.cgi?id=579664
Richard Jones [Wed, 31 Mar 2010 12:19:34 +0000 (13:19 +0100)]
Signed/unsigned warning on 64 bit.
Richard Jones [Wed, 31 Mar 2010 12:19:34 +0000 (13:19 +0100)]
New API: guestfs_zero_device to zero whole devices.
Richard W.M. Jones [Tue, 30 Mar 2010 20:07:27 +0000 (21:07 +0100)]
Prettier POD CSS.
Richard Jones [Tue, 30 Mar 2010 16:49:44 +0000 (17:49 +0100)]
Update PO files.
Richard Jones [Tue, 30 Mar 2010 16:49:24 +0000 (17:49 +0100)]
chmod +x virt-resize binary.
Richard Jones [Tue, 30 Mar 2010 16:49:06 +0000 (17:49 +0100)]
Fix EXTRA_DIST rule.
Richard Jones [Tue, 30 Mar 2010 16:05:56 +0000 (17:05 +0100)]
Prepare for 1.0.89.
Richard Jones [Fri, 26 Mar 2010 17:14:04 +0000 (17:14 +0000)]
Improved version of virt-win-reg, supporting exporting and merging.
Richard Jones [Tue, 30 Mar 2010 15:14:09 +0000 (16:14 +0100)]
virt-df: Match output with native (coreutils) 'df' command (RHBZ#578123).
This commit fixes the 'Use%' field in the output so it matches what
coreutils' 'df' command would print.
Firstly we change the calculation to use the space available to root,
not the space available to non-root. This means it matches what 'df'
when run as root in the guest would show.
Secondly we display this rounded up to the next whole percent (ie. using
ceil), which is also what 'df' does.
Thirdly we change the regression test so it tests this.
Note that even with these changes you are not guaranteed to get precisely
the same figures from inside and outside the guest, as it depends on
how quiescent the guest is and how recently the superblock was synced.
Thanks: Rita Wu
Richard Jones [Tue, 30 Mar 2010 13:18:44 +0000 (14:18 +0100)]
tools: Add basic tests for the virt-* tools.
Richard Jones [Tue, 30 Mar 2010 12:45:16 +0000 (13:45 +0100)]
tools: Sectional header for manpages in Makefile.am
Richard Jones [Tue, 30 Mar 2010 12:44:29 +0000 (13:44 +0100)]
tools: Rearrange list of tools in Makefile.am.
Richard Jones [Tue, 30 Mar 2010 12:34:16 +0000 (13:34 +0100)]
daemon: Set TERM=dumb inside the daemon.
Since commit
977edb3185fe8f we have been passing TERM from the
library into the appliance (for the benefit of virt-rescue).
However this changes the output of parted, which I would argue
is a bug in parted:
TERM=xterm /sbin/parted -m -- /dev/sda unit b print 2>&1 | hexdump -C
00000000 1b 5b 3f 31 30 33 34 68 42 59 54 3b 0a 2f 64 65 |.[?1034hBYT;./de|
Notice the escape-sequence junk before the official "BYT;"
header.
By setting TERM=dumb we avoid this.
Richard Jones [Sat, 27 Mar 2010 11:02:03 +0000 (11:02 +0000)]
Fix the error message when reply body is too large (RHBZ#509597).
Richard Jones [Sat, 27 Mar 2010 10:49:24 +0000 (10:49 +0000)]
tests: Move alarm(2) calls to the correct place in the tests.
This is a re-fix for RHBZ#505329.
Richard Jones [Fri, 26 Mar 2010 21:08:43 +0000 (21:08 +0000)]
Prepare for 1.0.88.
Richard Jones [Fri, 26 Mar 2010 20:08:45 +0000 (20:08 +0000)]
rescue: Pass $TERM from library into the virt-rescue appliance.
We set it on the kernel command line, then get it out from
there when the rescue appliance boots.
Richard Jones [Fri, 26 Mar 2010 20:02:10 +0000 (20:02 +0000)]
rescue: Sync disk on exit, and improve messaging.
Jim Meyering [Fri, 26 Mar 2010 20:01:45 +0000 (20:01 +0000)]
Const-correctness fix.
Richard Jones [Fri, 26 Mar 2010 10:10:16 +0000 (10:10 +0000)]
appliance: Set $PATH instead of hard-coding paths to binaries everywhere.
Change the appliance so PATH includes common directories. Thus
we don't need to hard-code paths to binaries (eg. "/sbin/fdisk")
everywhere.
Richard Jones [Thu, 25 Mar 2010 19:44:22 +0000 (19:44 +0000)]
perl: use newSVpvn for variable length strings.
Previously we used newSVpv (str, len), but if len == 0 then
this means Perl tries to calculate the string length using
strlen(3). This is not desirable when we know the length, in
which case we should use newSVpvn instead.
Richard Jones [Thu, 25 Mar 2010 16:03:42 +0000 (16:03 +0000)]
Update PO files.
Daniel Cabrera [Thu, 25 Mar 2010 16:03:01 +0000 (16:03 +0000)]
Update Spanish translation of libguestfs (RHBZ#576876).
Richard Jones [Wed, 24 Mar 2010 23:28:14 +0000 (23:28 +0000)]
Fix lvresize test on RHEL 5, by fixing guestfs_e2fsck_l.
The problem is that mkfs was making an ext2 filesystem,
which later we were checking with e4fsck. e4fsck corrects
an "error" on the filesystem:
/dev/VG/LV: Adding dirhash hint to filesystem.
e4fsck returns 1 (errors corrected) which we were interpreting
as an error return.
Richard Jones [Wed, 24 Mar 2010 22:02:34 +0000 (22:02 +0000)]
Use ext4 dev tools on RHEL 5 (RHBZ#576688).
Richard Jones [Wed, 24 Mar 2010 21:21:23 +0000 (21:21 +0000)]
Add support for minix filesystem (RHBZ#576689).
Richard Jones [Tue, 23 Mar 2010 22:10:45 +0000 (22:10 +0000)]
Version 1.0.87.
Richard Jones [Mon, 22 Mar 2010 18:38:31 +0000 (18:38 +0000)]
New tools: virt-resize and virt-list-partitions.
Virt-resize is the main contribution here, a program which can
be used to expand and shrink partitions in disk images.
Virt-list-partitions is used as an ancillary tool for planning
resize operations.
Richard Jones [Mon, 22 Mar 2010 18:36:16 +0000 (18:36 +0000)]
New API: guestfs_copy_size to copy a fixed number of bytes.
This is similar to 'guestfs_dd', but it copies just a fixed
number of bytes from the source to the destination. It's an
error if the source is too short or if the destination is too
small.
Richard W.M. Jones [Fri, 19 Mar 2010 17:21:05 +0000 (17:21 +0000)]
Change some _exit(0|1) to _exit(EXIT_SUCCESS|EXIT_FAILURE).
Richard Jones [Mon, 22 Mar 2010 10:30:25 +0000 (10:30 +0000)]
Mac OS X: Fix configure-time tests for Ruby.
For ARCHFLAGS change, see:
http://www.ruby-forum.com/topic/129717#579065
We also add a test for the <guestfs.h> header and include
that header when testing the library.