| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Also unquote $pkg since OCaml package names can never contain
spaces or other unfriendly characters.
|
| |
|
|
|
|
|
| |
* .x-sc_prohibit_strcmp: Exempt examples/to-xml.c.
* .x-sc_prohibit_strcmp_and_strncmp: Likewise.
|
| |
|
|
|
|
|
| |
Move these to private header file(s) and other places as required
since these aren't part of the public API.
|
| |
|
|
|
|
|
| |
In verbose mode, print timestamped messages during guestfs_launch
so we can see how long each step takes.
|
|
|
|
|
|
|
|
|
|
| |
The guest handle field start_t was previously used (when we
had the wait_ready call), but had fallen into disuse. Note
that it could never be accessed through the API.
Rename this field as launch_t, convert it to a timeval, and
use it to measure the time since guestfs_launch was called
so that we can start profiling guest launch.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces a generic partition creation interface
which should be future-proof and extensible, and partially
replaces the old sfdisk-based interface.
The implementation is based on parted but is hopefully not too
dependent on the particulars of parted.
The following new calls are introduced:
guestfs_part_init:
Initialize a disk with a partition table. Unlike the sfdisk-
based interface, we also support GPT and other partition
types, which is essential to scale to devices larger than 2TB.
guestfs_part_add: Add a partition to an existing disk.
guestfs_part_disk:
Convenience function which combines part_init & part_add,
creating a single partition that covers the whole disk.
guestfs_part_set_bootable:
guestfs_part_set_name:
Set various aspects of existing partitions.
guestfs_part_list:
List partitions on a device. This returns a programming-friendly
list of partition structs (in contrast to sfdisk-l which cannot
be parsed).
guestfs_part_get_parttype:
Return the partition table type, eg. "msdos" or "gpt".
The following calls are planned, but not added currently:
guestfs_part_get_bootable
guestfs_part_get_name
guestfs_part_set_type
guestfs_part_get_type
|
| |
|
| |
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|