summaryrefslogtreecommitdiffstats
path: root/resize
Commit message (Collapse)AuthorAgeFilesLines
* tests: Replace 'make extra-tests' with individual tests.Richard W.M. Jones2012-11-132-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 'make extra-tests' was a monolithic set of tests that did all sorts of things: valgrind, tests over local guests, tests with upstream qemu, tests with upstream libvirt, tests with the appliance attach method. This made it hard to perform individual tests, eg. just valgrind testing. It was also hard to maintain because the tests were not located in the same directories as the programs and sometimes duplicated tests that were run elsewhere. This commit splits up 'make extra-tests' into 5 separate targets: make check-valgrind # run a subset of tests under valgrind make check-valgrind-local-guests # test under valgrind with local guests make check-with-appliance # test with attach-method == appliance make check-with-upstream-qemu # test with an alternate/upstream qemu make check-with-upstream-libvirt # test with an alternate/upstream libvirt (You can also still run 'make extra-tests' which is now simply a rule that runs the above 5 targets in order). This replaces everything that was in the tests/extra directory, so that has now gone.
* resize: Depend explicitly on Unix module.Richard W.M. Jones2012-10-221-1/+1
| | | | | | | | | Commit a0722c7ad846960be54978a31ebe73b76e119203 introduced a dependency on the Unix module. This was not listed in the list of '-package's, but as long as you had ocaml-gettext installed it would still work because that pulled in Unix implicitly. Thanks Olaf Hering.
* resize, sparsify: Suppress progress bar when output is not a tty.Richard W.M. Jones2012-10-151-21/+27
|
* sparsify: Re-use progress bar wrapper code from virt-resize.Richard W.M. Jones2012-10-115-14/+12
| | | | | | | | | | | The code was identical -- just copied with s/resize/sparsify/. Instead of duplicating identical code, cause the Makefile.am to use the code from the ../resize/ directory. Unfortunately because there are two Utils modules (which are different), this means we had to rename those modules to Resize_utils and Sparsify_utils respectively. So this is a rather larger change than intended. However it's just code motion.
* podwrapper: Add --license parameter, which is required.Richard W.M. Jones2012-08-211-0/+1
| | | | | | | | | | This adds standard LICENSE and BUGS sections to all of the man pages that are processed by podwrapper. Modify all the calls to $(PODWRAPPER) to add the right --license parameter according to the content. Note that this relaxes the license on some code example pages, making them effectively BSD-style licensed.
* man pages: Ensure consistent copyright/author sections, remove licenseRichard W.M. Jones2012-08-211-14/+0
| | | | | | | | | | section. Ensure each man page contains consistent COPYRIGHT and AUTHOR sections. Remove the LICENSE section. We will add that back in podwrapper in a later commit.
* Replace mount-options with mount where appropriate.Richard W.M. Jones2012-08-181-1/+1
| | | | | | 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.
* build: Rename most C files that contain underscore with dash.Richard W.M. Jones2012-07-192-2/+2
| | | | | | | This is just code motion. Some files cannot be renamed. Notably rpcgen input and output files must not contain dash characters, else rpcgen breaks.
* build: Change calls to podwrapper.sh to use $(PODWRAPPER).Richard W.M. Jones2012-07-161-1/+1
| | | | | This will allow us to easily change the location of this script in future.
* generator: Rename 'ntfsresize_opts' API to 'ntfsresize'.Richard W.M. Jones2012-07-141-1/+1
| | | | | By using the once_had_no_optargs flag, this change is backwards compatible for callers.
* generator: Rename 'add_drive_opts' API to 'add_drive'.Richard W.M. Jones2012-07-141-4/+4
| | | | | | 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).
* New API: guestfs_shutdown: Cleanly shutdown the backend.Richard W.M. Jones2012-07-031-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* run: Set MALLOC_PERTURB_ to a random value.Richard W.M. Jones2012-06-281-5/+1
| | | | | | | | | | | | | | | | | MALLOC_PERTURB_ is a glibc feature which causes malloc to wipe memory before and after it is used, allowing both use-after-free and uninitialized reads to be detected with relatively little performance penalty: http://udrepper.livejournal.com/11429.html?nojs=1 Modify the ./run script so that it always sets this. We were already using MALLOC_PERTURB_ in most tests. Since ./run is now setting this, we can remove it from individual Makefiles. Most TESTS_ENVIRONMENT will now simply look like this: TESTS_ENVIRONMENT = $(top_builddir)/run --test
* tests: Add ./run --test option.Richard W.M. Jones2012-06-261-1/+1
| | | | | | | This option, when added via TESTS_ENVIRONMENT = [...] $(top_builddir)/run --test allows us to run the tests and only print the full output (including debugging etc) when the test fails.
* test-virt-resize: Replace truncate with guestfish sparse.Richard W.M. Jones2012-06-221-1/+1
| | | | | | | Another instance of 'truncate' command. See commit 39df80dcc0e485e69048bddbf33c259ce532e50d for an explanation.
* build: Define builddir and abs_srcdir when they are missing.Richard W.M. Jones2012-06-181-0/+6
| | | | | | | | | | | | | | | | | | | | | RHEL 5-era autoconf did not define these, so define them manually when they are missing. Define builddir as '.' The scripts require this. It won't work in the srcdir != builddir case, but we don't care about that for RHEL 5. This commit also moves the builddir / abs_srcdir variable setting above the include of subdir-rules.mk, in case that include uses these variables. Useful script: for f in $(find -name Makefile.am | xargs fgrep '$(abs_srcdir)' -l) ; do if ! grep -q '^abs_srcdir' $f; then echo missing in $f fi done
* ocaml: Use OCAMLOPTFLAGS when compiling .cmx (ie. native code) files.Richard W.M. Jones2012-06-181-1/+1
|
* New API: guestfs_canonical_device_name.Richard W.M. Jones2012-06-133-25/+2
| | | | This API makes device names canonical, eg. /dev/vda1 -> /dev/sda1.
* doc: Add notes on how GPT works on 4k sector disks.Richard W.M. Jones2012-05-141-2/+13
| | | | | | | | | 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.
* Add gettext support for OCaml tools (virt-resize, virt-sparsify, virt-sysprep).Richard W.M. Jones2012-05-013-89/+98
| | | | | | | | 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.
* resize, sparsify: Add a simple-minded check to stop indisk = outdisk.Richard W.M. Jones2012-04-171-0/+6
|
* Ensure that SOURCES are always in EXTRA_DIST, even if OCaml not available.Richard W.M. Jones2012-03-311-5/+3
|
* resize2fs: Run 'e2fsck -f' automatically if filesystem is not mounted.Richard W.M. Jones2012-03-091-3/+1
|
* resize: Fix --output-format flag (RHBZ#798196).Richard W.M. Jones2012-02-282-3/+10
| | | | Update the test to use the --format and --output-format flags.
* resize: Document steps to avoid UNMOUNTABLE_BOOT_VOLUME BSOD (RHBZ#797986).Richard W.M. Jones2012-02-271-0/+8
| | | | (Thanks Grant Williamson for finding and fixing this problem)
* resize, sparsify: find progress mini-library in out-of-tree builds (2)Hilko Bengen2012-01-231-1/+1
|
* Do not run appliance-related checks if not building applianceHilko Bengen2012-01-231-1/+4
|
* Replace setting of environment variables with usage of local run scriptHilko Bengen2012-01-231-3/+1
| | | | (Includes fix by RWMJ)
* resize, sparsify: find progress mini-library in out-of-tree buildsHilko Bengen2012-01-201-1/+1
|
* Fixed out-of-tree compilation of OCaml code after .depend files removalHilko Bengen2012-01-201-2/+3
|
* Tempus fugit.Richard W.M. Jones2012-01-186-6/+6
| | | | Update all copyright dates to 2012.
* build: Remove .depend files from gitMatthew Booth2012-01-112-10/+1
| | | | | Remove generated .depend files from source control, and don't barf when they don't exist while bootstrapping.
* build: Fix automake warningsMatthew Booth2012-01-041-3/+5
|
* extra tests: Test virt-resize.Richard W.M. Jones2011-11-293-4/+18
| | | | | | | | 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.
* Update FSF address.Matthew Booth2011-11-084-4/+4
|
* resize: Remove requirement for ocaml Pcre library.Richard W.M. Jones2011-11-032-18/+9
| | | | | This library is not available in RHEL 6, and in any case removing the dependency is a simple change.
* resize: Add tests for some Utils functions.Richard W.M. Jones2011-11-033-2/+98
|
* virt-resize: Be much more conservative about moving first partition.Richard W.M. Jones2011-10-261-5/+26
| | | | | | | | | | | | 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.
* virt-resize: Handle extended and logical partitions (RHBZ#642821).Richard W.M. Jones2011-10-262-17/+90
|
* resize: Get the partition table type of the source disk earlier.Richard W.M. Jones2011-10-261-7/+17
| | | | | | 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.
* ocaml: Make sure virt-resize, virt-sparsify are rebuilt if Guestfs API changes.Richard W.M. Jones2011-10-252-8/+8
| | | | | | | | 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.
* resize: Add --align-first auto|never|always option.Richard W.M. Jones2011-10-203-16/+129
| | | | | The first partition can now be aligned. We fix the bootloader correctly for Windows by adjusting the "Hidden Sectors" field.
* resize: Add --alignment flag to allow partition alignment to be picked.Richard W.M. Jones2011-10-202-11/+57
|
* resize: Refactor the code for creating target partitions.Richard W.M. Jones2011-10-201-92/+97
| | | | | | | | | | | | | 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.
* resize: Remove p_size field from partitions structure.Richard W.M. Jones2011-10-201-12/+13
| | | | | | This field simply contained a duplicate copy of p_part.part_size. There is no functional change in this commit.
* virt-resize: Align partitions to multiple of 128 sectors (instead of 64).Richard W.M. Jones2011-10-061-4/+5
| | | | | This gives us effectively 64 KByte alignment, optimal for all current types of storage.
* New tool: virt-sparsify to make disk images sparse.Richard W.M. Jones2011-10-041-0/+1
|
* Stable OCaml dependencies.Richard Jones2011-09-122-8/+9
|
* man pages: Add a standard EXIT STATUS section to most pages.Richard W.M. Jones2011-08-271-0/+5
|
* resize: Add --machine-readable option for machine friendly output.Richard W.M. Jones2011-08-265-23/+109
|