summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix compilation when Augeas is not present.Richard Jones2009-11-101-1/+1
| | | | It would complain that NEED_AUG macro was defined but not used.
* avoid "syntax-check" failure: hide cast of argument to freeJim Meyering2009-11-101-2/+4
| | | | | * fuse/guestmount.c (fg_readlink): Perform cast in a separate statement to hide it from "make syntax-check".
* build: die early if we lack ocaml, ocamlfind or ocaml-xml-lightJim Meyering2009-11-101-0/+20
| | | | | * autogen.sh: Ensure that we fail very early when not building from a tarball and when one of those is not installed.
* tests: enable strcmp-related syntax-check testsJim Meyering2009-11-091-2/+0
| | | | | * cfg.mk (local-checks-to-skip): Don't skip these checks: sc_prohibit_strcmp_and_strncmp, sc_prohibit_strcmp.
* change strncasecmp() == 0 to STRCASEEQLEN()Jim Meyering2009-11-093-3/+3
| | | | | git grep -l 'strncasecmp *([^=]*== *0'|xargs \ perl -pi -e 's/\bstrncasecmp( *\(.*?\)) *== *0\b/STRCASEEQLEN$1/g'
* change strncasecmp() == 0 to STRCASENEQLEN()Jim Meyering2009-11-091-1/+1
| | | | | git grep -l 'strncasecmp *([^=]*!= *0'|xargs \ perl -pi -e 's/\bstrncasecmp( *\(.*?\)) *!= *0\b/STRCASENEQLEN$1/g'
* use STREQ, not strcmp: part 2Jim Meyering2009-11-095-13/+13
| | | | | git grep -l 'strcmp *([^=]*!= *0'|xargs \ perl -pi -e 's/\bstrcmp( *\(.*?\)) *!= *0\b/STRNEQ$1/g'
* use STREQ, not strcmp: part 1Jim Meyering2009-11-0919-59/+59
| | | | | git grep -l 'strcmp *([^=]*== *0'|xargs \ perl -pi -e 's/\bstrcmp( *\(.*?\)) *== *0/STREQ$1/g'
* change strncmp() == 0 to STREQLEN()Jim Meyering2009-11-0913-21/+21
| | | | | git grep -l 'strncmp *([^=]*== *0'|xargs \ perl -pi -e 's/\bstrncmp( *\(.*?\)) *== *0\b/STREQLEN$1/g'
* change strncmp(...) != 0 to STRNEQLEN(...)Jim Meyering2009-11-094-4/+4
| | | | | git grep -l 'strncmp *([^=]*!= *0'|xargs \ perl -pi -e 's/\bstrncmp( *\(.*?\)) *!= *0/STRNEQLEN$1/g'
* convert strcasecmp(...) != 0 to STRCASENEQ(...)Jim Meyering2009-11-091-5/+5
| | | | | git grep -E -l 'strcasecmp *\(.*!= ?0\b'|xargs \ perl -pi -e 's/\bstrcasecmp( ?\(.*?\)) != 0/STRCASENEQ$1/g'
* convert uses of strcasecmp to STRCASEEQJim Meyering2009-11-098-54/+54
| | | | | git grep -l 'strcasecmp *([^=]*== *0'| xargs \ perl -pi -e 's/\bstrcasecmp( *\(.*?\)) *== *0/STRCASEEQ$1/'
* define STREQ, STRNEQ, STREQLEN, STRCASEQ, etc.Jim Meyering2009-11-093-0/+30
| | | | | | * src/guestfs.h: Define STREQ and company. * daemon/daemon.h: Likewise. * hivex/hivex.h: Likewise.
* indent with spaces, not TABsJim Meyering2009-11-098-72/+72
| | | | | | | | | | | * HACKING: Expand indentation TABs. * configure.ac: Likewise. * daemon/daemon.h: Likewise. * daemon/guestfsd.c: Likewise. * fuse/guestmount.c: Likewise. * hivex/LICENSE: Likewise. * src/generator.ml: Likewise. * tools/virt-win-reg: Likewise.
* fix doc typoJim Meyering2009-11-091-1/+1
| | | | * fuse/guestmount.pod: Avoid "the the".
* placate 'make syntax-check'Jim Meyering2009-11-091-1/+0
| | | | * hivex/hivex.c: Remove unused "#include <assert.h>".
* avoid syntax-check warning about isdigit use in example programJim Meyering2009-11-091-0/+1
| | | | * .x-sc_avoid_ctype_macros: New file.
* appliance: Enhance mkfs to support many more filesystem types.Richard Jones2009-11-092-17/+81
| | | | | | | | | | | | | | | | This fixes support for NTFS, and adds support for: - reiserfs - btrfs - GFS and GFS2 - JFS - HFS and HFS+ - NILFS - OCFS2 (disabled) We don't enable OCFS2 by default, because it pulls in about 140 extra packages into the appliance. GFS & GFS2 default to single node (no lock manager etc).
* Fix prototype of commandv to match prototype of commandrv.Richard Jones2009-11-095-7/+8
|
* daemon: Always reflect command stderr to stderr when debugging.Richard W.M. Jones2009-11-091-9/+16
| | | | | | | | | | When debugging (ie. LIBGUESTFS_DEBUG=1 & verbose flag set in daemon) always reflect any stderr output from commands that we run to stderr of the daemon, so it is visible. Previously if stderror == NULL in command*, stderr output was just eaten and discarded which meant useful error messages could be lost.
* daemon: Add flags argument to command*() functions.Richard W.M. Jones2009-11-092-18/+51
| | | | | | | | | | | | | | | | This adds new variations of the command*() functions which take a 'flags' argument. Currently the only flag available is defined as follows: COMMAND_FLAG_FOLD_STDOUT_ON_STDERR: For broken external commands that send error messages to stdout (hello, parted) but that don't have any useful stdout information, use this flag to capture the error messages in the *stderror buffer. If using this flag, you should pass stdoutput as NULL because nothing could ever be captured in that buffer. This patch also adds some documentation for command*() function.
* haskell: Disambiguate truncate symbol.Richard Jones2009-11-091-0/+6
| | | | | | | This is a hack, but GHC doesn't like it if we have a symbol with the same name as one in the Haskell Prelude. Therefore we much hide the corresponding symbol in the Prelude when building this module.
* ocaml: Update dependencies file.Richard Jones2009-11-091-4/+4
|
* ocaml: Sort the dependencies so they are stable between machines.Richard W.M. Jones2009-11-062-4/+4
|
* ocaml: General improvements to generated code.Richard W.M. Jones2009-11-063-8/+42
|
* Fixes for compiling on 32 bit.Richard W.M. Jones2009-11-062-8/+8
|
* Don't update appliance after running generator.Richard Jones2009-11-051-4/+0
| | | | | | I'm not sure why these dependencies exist, but they cause the appliance to be updated every time the generator runs, which appears to be unnecessary.
* appliance: Add xfsprogs to list of packagesRichard Jones2009-11-051-0/+1
|
* fish: Allow <nn>P and <nn>E for petabyte and exabyte allocations.Richard Jones2009-11-043-0/+22
|
* fish: Allow <nn>T for terabyte allocations.Richard Jones2009-11-043-3/+14
|
* fish: New command 'sparse', like 'alloc' but to generate sparse files.Richard Jones2009-11-044-0/+120
| | | | | | | | | | | | | | | | | With sparse you can make sparse files, which is fun because you can experiment with really large devices: ><fs> sparse /tmp/test.img 100G ><fs> run ><fs> sfdiskM /dev/vda , ><fs> mkfs ext2 /dev/vda1 # very long pause here ... ><fs> mount /dev/vda1 / To see the real (ie. allocated) size of the sparse file, use the du command, eg: ><fs> !du -h /tmp/test.img 1.6G -rw-rw-r-- 1 rjones rjones 100G 2009-11-04 17:40 /tmp/test.img
* daemon: Build daemon with AC_SYS_LARGEFILE.Richard Jones2009-11-041-0/+3
|
* Debian: Use /bin/bash as the shell for regression test scripts.Richard Jones2009-11-0414-14/+14
| | | | | | | | | | /bin/sh on Debian is a minimal shell called 'dash' which doesn't support some features we need such as the particular 'function' syntax used by regressions/test-stringlist.sh, and therefore this script was failing on Debian. Change all of these scripts to use #!/bin/bash explicitly to avoid these sorts of problems.
* daemon: When running external commands, open stdin as /dev/nullRichard Jones2009-11-041-0/+1
| | | | | | | | Previously when we ran external commands from the daemon, stdin (ie. fd 0) was closed. This caused a problem when running the external hexdump command which seems to break if stdin is closed. This patch opens stdin on /dev/null.
* Debian: Include ISOFS driver in the kernel.Richard Jones2009-11-041-0/+3
|
* Debian: Ignore Debian appliance root when looking for translatable files.Richard Jones2009-11-041-0/+1
|
* debian: Ignore some generated debirf files.Richard Jones2009-11-041-0/+5
|
* configure: Fix summary messages.Richard Jones2009-11-041-3/+3
| | | | | | | | | | | | | The following 3 summary messages in the configure output always displayed "yes" even if they were not actually enabled. Haskell bindings .................... yes virt-inspector ...................... yes virt-* tools ........................ yes Fixed by correcting the code that tests if the automake conditional is set.
* hivex: fail upon integer overflowJim Meyering2009-11-041-0/+3
| | | | | * hivex/hivex.c (windows_utf16_to_utf8): Avoid overflow and a potential infloop.
* hivex: Check unchecked calloc (Jim Meyering).Richard Jones2009-11-041-0/+2
|
* Update PO files.1.0.77Richard Jones2009-11-032-729/+921
|
* Fix EXTRA_DIST line in fuse/Makefile.am.Richard Jones2009-11-031-1/+1
|
* Add make.sh.in to EXTRA_DIST.Richard Jones2009-11-031-1/+2
|
* Comment out code which provokes strange gcc optimization error.Richard Jones2009-11-031-0/+5
|
* Prepare for 1.0.77.Richard Jones2009-11-031-1/+1
|
* FUSE filesystem support.Richard Jones2009-11-0314-27/+1920
| | | | | | | | | | | | | | | This implements FUSE filesystem support so that any libguestfs- accessible disk image can be mounted as a local filesystem. Note: file writes (ie. write(2) system call) is not yet implemented. The API needs more test coverage, particularly lesser-used system calls. The big unresolved issue is UID/GID mapping between guest filesystem IDs and the host. It's not easy to automate this because you need extra details about the guest itself in order to get to its UID->username map (eg. /etc/passwd from the guest).
* Allow callers to disable the recovery process.Richard Jones2009-11-032-26/+71
|
* New API call: preadRichard Jones2009-11-023-1/+64
| | | | | guestfs_pread lets you do partial file reads from arbitrary places within a file. It works like the pread(2) system call.
* New API calls: lstatlist, lxattrlist, readlinklist.Richard Jones2009-11-025-1/+398
| | | | | | | | These three functions are very specifically designed for FUSE support, so we can list directories efficiently. Instead of making lots of lstat, lgetxattr and readlink calls, we can make just three calls per directory to grab all the attributes (which we then cache briefly).
* New API calls: truncate, truncate_size, mkdir_mode, utimens, lchown.Richard Jones2009-11-0211-28/+347
| | | | | | | | | | | | | | | truncate, truncate_size: Used to truncate files to a particular size, or to zero bytes. mkdir_mode: Like mkdir but allows you to also specify the initial permissions for the new directory. utimens: Set timestamp on a file with nanosecond accuracy. lchown: Corresponding to lchown(2) syscall (we already have chown). The implementation is complicated by the fact that we had to add an Int64 parameter type to the generator.