| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Since our minimum supported version is now 1.16 and mount was fixed in
1.13.16, it is now safe to replace mount-options + empty options with
mount wherever it occurs.
|
|
|
|
|
| |
By using the once_had_no_optargs flag, this change is backwards
compatible for callers.
|
|
|
|
|
|
| |
By using the once_had_no_optargs flag, this change is backwards
compatible for callers (except Haskell, PHP and GObject as discussed
in earlier commit).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new API splits orderly close into a two-step process:
if (guestfs_shutdown (g) == -1) {
/* handle the error, eg. qemu error */
}
guestfs_close (g);
Note that the explicit shutdown step is only necessary in the case
where you have made changes to the disk image and want to handle write
errors. Read the documentation for further information.
This change also:
- deprecates guestfs_kill_subprocess
- turns guestfs_kill_subprocess into the same as guestfs_shutdown
- changes guestfish and other tools to call shutdown + close
where necessary (not for read-only tools)
- updates documentation
- updates examples
|
|
|
|
| |
This API makes device names canonical, eg. /dev/vda1 -> /dev/sda1.
|
|
|
|
|
|
|
|
|
| |
I used scsi_debug to create a 4k sector virtual disk:
modprobe scsi_debug dev_size_mb=128 sector_size=4096
I then used 'gdisk' to create lots of partitions, and used 'hexdump'
to examine what was written to disk.
|
|
|
|
|
|
|
|
| |
Note that this support is optional: To enable it, install the
ocaml-gettext library from
http://forge.ocamlcore.org/projects/ocaml-gettext . If this library
is not installed, then configure detects this and inserts dummy
gettext functions that do nothing.
|
| |
|
| |
|
|
|
|
| |
Update the test to use the --format and --output-format flags.
|
|
|
|
| |
Update all copyright dates to 2012.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
| |
This gives us effectively 64 KByte alignment, optimal for all current
types of storage.
|
| |
|
| |
|
|
|
|
|
| |
Use the non-deprecated g#ntfsresize_opts API call, and also add
the --ntfsresize-force option for forcing resize.
|
| |
|
| |
|
|
This is a fairly straightforward translation of Perl virt-resize into
OCaml. It is bug-for-bug and feature-for-feature identical to the
Perl version, except as noted below.
The motivation is to have a more solid, high-level, statically safe
compiled language to go forwards with fixing some of the harder bugs
in virt-resize. In particular contracts between different parts of
the program are now handled by statically typed structures checked at
compile time, instead of the very ad-hoc unchecked hash tables used by
the Perl version.
OCaml and the ocaml-pcre library (Perl-Compatible Regular Expressions
bindings for OCaml) are required.
Extra features in this version:
- 32 bit hosts are now supported.
- We try hard to handle the case where the target disk is not "clean"
(ie. all zeroes). It usually works for this case, whereas the
previous version would usually fail. However it is still
recommended that the system administrator creates a fresh blank disk
for the target before running the program.
- User messages are a bit more verbose and helpful. You can turn
these off with the -q (--quiet) option.
There is one lost feature:
- Ability to specify >= T (terabytes) sizes in command line size
expressions has been removed. This probably didn't work in the Perl
version.
Other differences:
- The first partition on the target is no longer aligned; instead we
place it at the same sector as on the source. I suspect that
aligning it was causing the bootloader failures.
- Because it's easier, we do more sanity checking on the source disk.
This might lead to more failures, but they'd be failures you'd want
to know about.
- The order in which operations are performed has been changed to make
it more logical. The user should not notice any functional
difference, but debug messages will be quite a bit different.
- virt-resize is a compiled binary, not a script.
|