| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
It would complain that NEED_AUG macro was defined but not used.
|
|
|
|
|
| |
* fuse/guestmount.c (fg_readlink): Perform cast in a
separate statement to hide it from "make syntax-check".
|
|
|
|
|
| |
* autogen.sh: Ensure that we fail very early when not building
from a tarball and when one of those is not installed.
|
|
|
|
|
| |
* cfg.mk (local-checks-to-skip): Don't skip these checks:
sc_prohibit_strcmp_and_strncmp, sc_prohibit_strcmp.
|
|
|
|
|
| |
git grep -l 'strncasecmp *([^=]*== *0'|xargs \
perl -pi -e 's/\bstrncasecmp( *\(.*?\)) *== *0\b/STRCASEEQLEN$1/g'
|
|
|
|
|
| |
git grep -l 'strncasecmp *([^=]*!= *0'|xargs \
perl -pi -e 's/\bstrncasecmp( *\(.*?\)) *!= *0\b/STRCASENEQLEN$1/g'
|
|
|
|
|
| |
git grep -l 'strcmp *([^=]*!= *0'|xargs \
perl -pi -e 's/\bstrcmp( *\(.*?\)) *!= *0\b/STRNEQ$1/g'
|
|
|
|
|
| |
git grep -l 'strcmp *([^=]*== *0'|xargs \
perl -pi -e 's/\bstrcmp( *\(.*?\)) *== *0/STREQ$1/g'
|
|
|
|
|
| |
git grep -l 'strncmp *([^=]*== *0'|xargs \
perl -pi -e 's/\bstrncmp( *\(.*?\)) *== *0\b/STREQLEN$1/g'
|
|
|
|
|
| |
git grep -l 'strncmp *([^=]*!= *0'|xargs \
perl -pi -e 's/\bstrncmp( *\(.*?\)) *!= *0/STRNEQLEN$1/g'
|
|
|
|
|
| |
git grep -E -l 'strcasecmp *\(.*!= ?0\b'|xargs \
perl -pi -e 's/\bstrcasecmp( ?\(.*?\)) != 0/STRCASENEQ$1/g'
|
|
|
|
|
| |
git grep -l 'strcasecmp *([^=]*== *0'| xargs \
perl -pi -e 's/\bstrcasecmp( *\(.*?\)) *== *0/STRCASEEQ$1/'
|
|
|
|
|
|
| |
* src/guestfs.h: Define STREQ and company.
* daemon/daemon.h: Likewise.
* hivex/hivex.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* fuse/guestmount.pod: Avoid "the the".
|
|
|
|
| |
* hivex/hivex.c: Remove unused "#include <assert.h>".
|
|
|
|
| |
* .x-sc_avoid_ctype_macros: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
/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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/hivex.c (windows_utf16_to_utf8): Avoid overflow and a
potential infloop.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
| |
guestfs_pread lets you do partial file reads from arbitrary
places within a file. It works like the pread(2) system call.
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|