summaryrefslogtreecommitdiffstats
path: root/fuse
Commit message (Collapse)AuthorAgeFilesLines
* fish: Add guestfish --live, guestmount --live options.Richard W.M. Jones2011-02-032-0/+10
| | | | | | The other programs have the variable, but the flag is not enabled either because it doesn't make sense or because the implications are not well understood.
* fuse: Add more tracing for calls into guestmount functions.Richard W.M. Jones2010-12-192-1/+60
|
* fuse: Set UID and GID when performing FUSE tests.Richard W.M. Jones2010-12-071-1/+3
| | | | This avoids breakage on Ubuntu.
* fuse: Disable test which doesn't run reliably on Debian.Richard W.M. Jones2010-12-071-11/+12
| | | | See discussion in RHBZ#660687.
* fuse: Fix emulation of open call.Richard W.M. Jones2010-12-071-42/+5
| | | | | We were being over-complex in this call. All the FUSE API requires this call to do is to check permissions.
* fuse: Fix segfault in guestmount --verbose.Richard W.M. Jones2010-12-071-1/+1
| | | | | If hash_delete returns NULL and --verbose option was given then this would cause a segfault.
* Remove ability to build static distribution.Richard W.M. Jones2010-12-061-6/+0
| | | | | | We are now going to build binaries for each distribution so there is no need to build the quasi-distro-independent static binaries any more.
* build: Centralize all POD manipulation in 'podwrapper.sh' script.Richard W.M. Jones2010-11-241-18/+11
|
* fuse: Add note in test about how to debug guestmount.Richard W.M. Jones2010-11-241-0/+2
|
* New tool: virt-filesystemsRichard W.M. Jones2010-11-231-2/+2
| | | | | | | | This tool replaces virt-list-filesystems and virt-list-partitions with a new tool written in C with a more uniform command line structure and output. This existing Perl tools are deprecated but remain indefinitely.
* static: Use correct libraries for static binaries.Richard W.M. Jones2010-11-131-1/+1
| | | | Also add virt-cat.static target.
* fish: Use core add-domain API to implement '-d' option.Richard Jones2010-11-111-2/+1
| | | | | | This also makes libxml2 and libvirt into optional dependencies. If they are missing then the core API will print an error, as will the '-d' option to guestfish.
* fish: Add --rw option (does nothing yet).Richard W.M. Jones2010-11-082-1/+13
| | | | | | | | | | This adds the guestfish --rw option, intended in future to be required for writing to disk images. At the moment this does not change the default and so does nothing. This patch is intended for backporting to the stable branches so that we can start to introduce scripts which use 'guestfish --rw'.
* fish: '-i' option automatically handles whole-disk encryption.Richard W.M. Jones2010-11-053-2/+24
| | | | | | | | | | | This feature is also available in guestmount because of the shared option parsing code. You don't need to do anything to enable it, just using -i will attempt decryption of encrypted partitions. Only works for simple Fedora whole-disk encryption. It's a work-in-progress to make it work for other types of encryption.
* fuse: Use guestfs_last_errno instead of errno-reversal-hack.Richard W.M. Jones2010-11-031-31/+1
|
* binary: Link guestmount static binary with -lm.Richard W.M. Jones2010-11-021-1/+1
| | | | | This is indirectly required via the new shared guestfish C inspection code by libxml2.
* Unify guestfish and guestmount options processing (RHBZ#642932).Richard W.M. Jones2010-10-273-135/+105
| | | | | | | | | | | | | | | In guestfish, factor out the processing of the options -a, -c, -d, -i, -m, -n, -r, -v, -V, -x into a separate set of files: options.c, options.h, inspect.c, virt.c. Change guestmount so that it uses these same files (from the ../fish directory) to process the same options. This unifies the handling of these options between the two programs. It also adds the useful inspection feature to guestmount, so you can now do: guestmount -d Guest -i --ro mnt/
* Enable autosync by default.Richard W.M. Jones2010-10-271-1/+0
|
* fuse: Add --format option to docs (RHBZ#642934,CVE-2010-3851).Richard W.M. Jones2010-10-231-0/+15
| | | | | | This updates commit 44c5ee1163918bd5c9e6aa6c292f0c3bb15b7b25. Document the --format option in the guestmount manual page.
* fuse: Specify format of disks (RHBZ#642934,CVE-2010-3851).Richard W.M. Jones2010-10-221-4/+23
| | | | | For command line disk images, specify the format using --format option in the same way as for guestfish.
* build: Don't add version extra string to the version number.Richard Jones2010-08-271-2/+6
| | | | | | | | | | | | If this string was non-empty, then it broke a lot of things because autoconf and other parts of the build system were expecting this string to contain a simple MAJOR.MINOR.RELEASE version number. This requires changes to guestfish and guestmount so they use the guestfs_version API to fetch the version from the library. (The Perl tools were already doing it this way). In a way this is more accurate, because it's no longer hard-coded in the binary, but fetched from the dynamically linked libguestfs.so.
* Include statically linked binaries in the binary distribution.Richard Jones2010-08-251-0/+6
|
* fuse: Implement write syscall (RHBZ#592883).Richard Jones2010-05-202-1/+22
|
* New API: write for creating files with fixed content (RHBZ#501889).Richard Jones2010-05-201-2/+2
| | | | | | | | | | | | | The guestfs_write call can be used to create small files with arbitrary 8 bit content, including \0 bytes. This replaces and deprecates write-file, which cannot be modified to use BufferIn because of an unfortunate choice in the ABI: the size parameter to write-file, if zero, means that the daemon tries to calculate the length of the buffer using strlen. However this fails if we pass a zero-length buffer using BufferIn because then the daemon tries to do strlen on a (really) zero length buffer, not even containing a terminating \0 character, thus segfaulting.
* Fix build error in fuse/guestmount.c.Matthew Booth2010-04-141-0/+1
| | | | | | | | guestmount.c: In function 'main': guestmount.c:899: error: implicit declaration of function 'setlocale' [-Wimplicit-function-declaration] guestmount.c wasn't including locale.h.
* fuse: Fix typo in test.Richard Jones2010-03-011-1/+1
|
* Remove some unused variables.Richard Jones2010-02-151-1/+1
| | | | | | Since we have to compile with -Wno-unused-variables, we don't spot unused variables in code. I found these by compiling the code in Ubuntu.
* Use mount-options instead of mount to avoid implicit -o sync.Richard Jones2010-02-101-4/+7
| | | | | | | | | | | | | | | guestfs_mount adds -o sync implicitly. This causes a very large performance problem for write-intensive programs (eg. virt-v2v). Document this as a "gotcha". Change the tests, guestfish, Sys::Guestfs::Lib, guestmount to use mount-options instead. (Note that this gotcha does not affect mount-ro). The source of the performance problem was first identified by Matthew Booth.
* Set locale in C programs so l10n works (RHBZ#559962).Richard Jones2010-01-292-0/+5
| | | | | | | | | | | | | | | This commit adds the calls to setlocale &c to all of the current C programs. It also adds l10n support to hivexget and hivexml which lacked them previously. To test this, try: LANG=pa_IN.UTF-8 guestfish --cmd-help (You can only do this test after installing the package, or at least the 'pa.mo' mo-file in the correct place).
* New tool: virt-list-filesystemsRichard Jones2009-11-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Use this program as a convenient way to list the filesystems available in a disk image or libvirt guest. Example: $ virt-list-filesystems /dev/vg_trick/Debian5x64 /dev/debian5x64/home /dev/debian5x64/root /dev/debian5x64/tmp /dev/debian5x64/usr /dev/debian5x64/var /dev/sda1 This is designed to make it easier for novices to use guestfish and guestmount. In particular with guestmount this acts as a way to get a list of filesystems to use with the '-m' option. ie: $ virt-list-filesystems unknowndisk.img /dev/sda1 /dev/sda2 $ guestmount -a unknowndisk.img -m /dev/sda1 /mnt
* maint: use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1 in "usage", tooJim Meyering2009-11-201-2/+2
| | | | | | | | | | Convert by running these commands: perl -pi -e 's/\b(usage ?)\(1\)/$1(EXIT_FAILURE)/' \ fish/fish.c fuse/guestmount.c perl -pi -e 's/\b(usage ?)\(0\)/$1(EXIT_SUCCESS)/' \ fish/fish.c fuse/guestmount.c * fish/fish.c (main): Replace 0/1 with EXIT_SUCCESS/EXIT_FAILURE. * fuse/guestmount.c (main): Likewise.
* maint: use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1 to exitJim Meyering2009-11-202-15/+15
| | | | | | | | | | | | | | | Convert all uses automatically, via these two commands: git grep -l '\<exit *(1)' \ | grep -vEf .x-sc_prohibit_magic_number_exit \ | xargs --no-run-if-empty \ perl -pi -e 's/\b(exit ?)\(1\)/$1(EXIT_FAILURE)/' git grep -l '\<exit *(0)' \ | grep -vEf .x-sc_prohibit_magic_number_exit \ | xargs --no-run-if-empty \ perl -pi -e 's/\b(exit ?)\(0\)/$1(EXIT_SUCCESS)/' * .x-sc_prohibit_magic_number_exit: New file. Edit (RWMJ): Don't change Java code.
* build: Fix inter-directory dependenciesMatthew Booth2009-11-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds an explicit dependency on generator.ml for every file it generates, except java files. Java is left for another time because it's considerably trickier. It also adds a build rule for src/libguestfs.la so it can be rebuilt as required from other directories. It does this by creating a top level make file, subdir-rules.mk, which can be included from sub-directories. sub-directories need to define 'generator_built' to include local files which are built by generator.ml, and they will be updated automatically. This fixes parallel make, and will automatically re-create generated files when make is run from any directory. It also fixes the problem which efad4f53 was targetting. Specifically, src/guestfs_protocol.(c|h) had an erroneous dependency on stamp-generator, and therefore generator.ml, despite not being directly created by it. This caused them to be recreated every time generator.ml ran rather than only when src/guestfs_protocol.x was updated, which cascaded into a daemon and therefore appliance update. This patch also changes the contents of the distribution tarball by including files created by rpcgen.
* syntax-check: expand TABs in generator.mlJim Meyering2009-11-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | Jim Meyering wrote: >>From 6f128e90afb055f9899011c4a592eb289e678936 Mon Sep 17 00:00:00 2001 > From: Jim Meyering <meyering@redhat.com> > Date: Thu, 19 Nov 2009 11:39:10 +0100 > Subject: [PATCH libguestfs] syntax-check: expand TABs in generator.ml > > * src/generator.ml: Expand leading TABs to spaces. That was incomplete. Please use the following instead. With it, now, "make syntax-check" now passes once again. >From 716a30d0b692972aac8fbea1fb7ad3318ab3a0d8 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@redhat.com> Date: Thu, 19 Nov 2009 11:39:10 +0100 Subject: [PATCH libguestfs] syntax-check: expand leading TABs * src/generator.ml: Expand leading TABs to spaces. * fuse/test-fuse.sh: Likewise.
* fuse/RHEL: Don't require UTIME_{NOW,OMIT} to be defined.Richard Jones2009-11-181-0/+8
| | | | | These macros don't exist on RHEL/CentOS 5.4. If the feature is missing then just don't implement it in the FUSE layer.
* fuse: Add test-fuse.sh to EXTRA_DIST.Richard Jones2009-11-181-1/+1
|
* generator: Fix API of functions that return RBufferOutRichard Jones2009-11-181-7/+1
| | | | | | | | | | | | | | | | | | | | | (NB: The API / ABI doesn't actually change here - it's just made much simpler to use). The API for RBufferOut functions was unexpectedly hard to use in the case where a zero-length buffer might be returned. For discussion on this see: https://www.redhat.com/archives/libguestfs/2009-November/thread.html#00115 This commit ensures that in the zero-length buffer case, the return value is never NULL. Thus code is now able to just check if the return value == NULL to indicate an error, which is simpler for all concerned. The implementation of this is, however, more complex because we have to be careful about this case inside both the daemon and the library code, which is what this commit does. This has passed a full round of tests.
* fuse: Add tests for guestmount.Richard Jones2009-11-172-0/+226
| | | | | This script contains non-exhaustive tests for the system calls implemented by guestmount.
* fuse: Fix read for empty files.Richard Jones2009-11-171-1/+7
| | | | | Error handling for the guestfs_pread call was incorrect, which meant that empty files could produce spurious error messages.
* fuse: Fix cache invalidation in rename operation.Richard Jones2009-11-171-0/+1
| | | | | We need to invalidate both parameters, otherwise the old (moved) file can appear that it still exists after the move.
* fuse: Fix hard link creation.Richard Jones2009-11-171-1/+2
| | | | | The parameters were swapped. We also need to invalidate the cache for both parameters.
* fuse: Fix symlink creation (RHBZ#538069).Richard Jones2009-11-171-1/+1
| | | | The parameters were swapped, preventing symlinks from being created.
* Don't export STREQ and friends in <guestfs.h>Richard Jones2009-11-105-25/+61
| | | | | Move these to private header file(s) and other places as required since these aren't part of the public API.
* 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".
* use STREQ, not strcmp: part 1Jim Meyering2009-11-092-9/+9
| | | | | git grep -l 'strcmp *([^=]*== *0'|xargs \ perl -pi -e 's/\bstrcmp( *\(.*?\)) *== *0/STREQ$1/g'
* indent with spaces, not TABsJim Meyering2009-11-091-1/+1
| | | | | | | | | | | * 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".
* Fixes for compiling on 32 bit.Richard W.M. Jones2009-11-061-1/+1
|
* Fix EXTRA_DIST line in fuse/Makefile.am.Richard Jones2009-11-031-1/+1
|
* Comment out code which provokes strange gcc optimization error.Richard Jones2009-11-031-0/+5
|