| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds an extra column containing this information, looking
like this:
Name Type VFS Label MBR Size Parent
/dev/sda1 filesystem ntfs - - 6.0G -
/dev/sda1 partition - - 07 6.0G /dev/sda
/dev/sda device - - - 6.0G -
In particular you can use this to tell if a partition is an extended
partition, because the field will contain '05' or '0f'.
|
|
|
|
|
|
| |
This converts a partition device name (eg. /dev/sda1) to a partition
number (eg. 1). This is useful in conjunction with the parted APIs
that mostly take a disk device + partnum.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Also add this option, if necessary, when testing for virtio-serial
support.
When the workaround is enabled, we specify machine type 'pc'.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 025dba7f803419f510fd8f085ce693838af82878.
If build and source directories are the same, you get this error:
make[3]: Leaving directory `/home/rjones/d/libguestfs/generator'
make[2]: Circular guestfs_protocol.c <- guestfs_protocol.c dependency dropped.
make[2]: Circular guestfs_protocol.h <- guestfs_protocol.h dependency dropped.
rm -f guestfs_protocol.h
ln guestfs_protocol.h
ln: accessing `guestfs_protocol.h': No such file or directory
|
|
|
|
| |
NB: This requires hivex >= 1.3.2 before this syntax becomes true.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is just code refactoring.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The first partition can now be aligned. We fix the bootloader
correctly for Windows by adjusting the "Hidden Sectors" field.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code mixed the business of planning the layout of the target
partitions with the creation of the target partitions. The
replacement code separates these into two tasks: firstly we create a
new 'partitions' list with the target layout, secondly this directly
drives the creation of the partitions.
As part of this change I have *removed* the old code that was supposed
to handle extended/logical MBR partitions. It simply didn't work, and
didn't have any hope of working, and there is a separate bug open to
fix it.
|
|
|
|
|
|
| |
This field simply contained a duplicate copy of p_part.part_size.
There is no functional change in this commit.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed one bug in the nl PO file:
msgid "security: cached appliance %s is not owned by UID %d"
msgstr "beveiliging: UID %d is geen eigenaar van toepassing %s in cache"
should be:
msgid "security: cached appliance %s is not owned by UID %d"
msgstr "beveiliging: UID %2$d is geen eigenaar van toepassing %1$s in cache"
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible for the pcre library to return a variable number of captures for
a single regular expression. e.g.:
^/dev/(cciss/c\d+d\d+)(?:p(\d+))?$
This will return either 1 or 2 captures depending on whether the device has a
partition suffix. The current match wrappers don't allow for this, and require
that a predictable number of matches are returned.
This change updates match, match1, match2, and match3 to ignore the specific
number of matches returned. Instead, any returned captures are assigned to the
given arguments, and any remaining arguments are set to NULL.
|
|
|
|
|
|
|
|
|
|
|
| |
We currently use a heuristic to guess how drive names we find
referenced in the guest map to drive names in the appliance. If this
heuristic fails it can cause inspection to fail.
This change adds a new 'name' option to add_drive_opts, which allows
the user to explicitly pass the name of a drive to libguestfs if it is
known. This change also updates the fstab-parsing inspection code to
use this information if it is available.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a NFC on its own, but provides a place-holder for drive metadata which
can be used after launch.
Fixes by RWMJ:
- Fix the tests: this requires a new internal function 'debug-drives'
that dumps out the g->drives information so it can be checked in
two of the tests. Previously these tests used 'debug-cmdline'.
- Test file existence / use_cache_off in the add_drive_opts function,
not when launching qemu in the child process.
- Call free along error paths.
- Add comments.
|
|
|
|
|
| |
The regular expression matching disk name assumed that there was only a single
letter suffix. This change handles a naming scheme for any number of disks.
|
| |
|
|
|
|
| |
This isn't really necessary, but it keeps valgrind happy.
|
|
|
|
| |
In real machines these directories are a ramdisk.
|
| |
|