summaryrefslogtreecommitdiffstats
path: root/fuse/guestmount.c
Commit message (Collapse)AuthorAgeFilesLines
* fix fuse_opt_add_opt_escaped return typeOlaf Hering2012-09-041-1/+1
| | | | | | | | | | I: Program returns random data in a function E: libguestfs no-return-in-nonvoid-function guestmount.c:75 The function fuse_opt_add_opt_escaped has only one caller and a return code is not checked. Signed-off-by: Olaf Hering <olaf@aepfle.de>
* fuse: guestmount doesn't let you pass '-- [FUSE options]'.Richard W.M. Jones2012-08-031-1/+1
| | | | | | I don't think it ever did, so the --help text was always wrong, and definitely didn't match the real behaviour of the program.
* fuse: Add guestmount --pid-file option (RHBZ#838592).Richard W.M. Jones2012-07-091-1/+45
|
* New API: guestfs_shutdown: Cleanly shutdown the backend.Richard W.M. Jones2012-07-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fuse: Add replacement for fuse_opt_add_opt_escaped.Richard W.M. Jones2012-06-181-0/+31
| | | | | | | RHEL 5-era FUSE didn't have this function. I copied the function out of upstream FUSE, since the license is compatible.
* Remove "convenience header" "gettext.h" and use <libintl.h> instead.Richard W.M. Jones2012-05-011-0/+1
| | | | | | | | | | | | gettextize provides a local file called "gettext.h". Remove this and use <libintl.h> from glibc headers instead. Most of this change is mechanical: #include <libintl.h> in every C file which uses any gettext function. But also we remove the gettext.h file, and adjust the "_" macros. Note that this effectively removes the ./configure --disable-nls option, although we don't know if that ever worked.
* fuse: Add missing #include to guestmount.cMatthew Booth2012-04-041-0/+1
| | | | Fix compilation failure on F17
* New APIs: mount-local, mount-local-run, umount-local (FUSE support in the API).Richard W.M. Jones2012-03-291-896/+69
| | | | | | | | | | Add FUSE support directly to the API. Instead of needing to use the external 'guestmount' command, you can mount the libguestfs filesystem space on a local mountpoint using an API call from any language. Note that although mount-local-run is marked as Cancellable, the current implementation does not support it, but it would be relatively simple to add it.
* Replace 'int' with 'size_t' passim.Richard W.M. Jones2012-03-131-1/+1
| | | | | Analyze all uses of 'int' in the code, and replace with 'size_t' where appropriate.
* guestmount: use O_ACCMODE instead of hard codingWanlong Gao2012-01-301-1/+1
| | | | | | | Change hard code 3 to O_ACCMODE. it'll be more sensible. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* guestmount: remove tailing spacesWanlong Gao2012-01-301-2/+2
| | | | | | | just do a cleanup. remove the tailing spaces. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* Tempus fugit.Richard W.M. Jones2012-01-181-2/+2
| | | | Update all copyright dates to 2012.
* fuse: Return EXIT_FAILURE if fuse_main fails.Richard W.M. Jones2011-12-091-1/+1
| | | | | | | | | | fuse_main can return any non-zero value on error. In particular on certain sorts of error such as unsupported -o options it returns 1 (not -1). Therefore make sure any non-zero return is turned into EXIT_FAILURE. (Thanks Pádraig Brady)
* 32 bit: Fix printf off_t.Richard Jones2011-11-111-2/+2
|
* Update FSF address.Matthew Booth2011-11-081-1/+1
|
* guestmount: Fix --live option (RHBZ#744795).Richard W.M. Jones2011-10-261-5/+46
|
* Remove local LIBGUESTFS_PATH detection from guestfish and guestmount.Richard W.M. Jones2011-04-161-13/+0
| | | | | | | | | | | Remove the hack that let you run ./fish/guestfish or ./fuse/guestmount. You now have to do: ./run ./fish/guestfish or ./run ./fuse/guestmount to run these programs without installing.
* Include string.h and libintl.h, as needed.Jim Meyering2011-04-131-0/+1
| | | | | | | | | * df/df.c: As above. * df/main.c: As above. * df/output.c: As above. * fuse/guestmount.c: As above. * inspector/virt-inspector.c: As above. * rescue/virt-rescue.c: As above.
* Add /etc/libguestfs-tools.conf configuration file.Richard W.M. Jones2011-03-311-0/+2
| | | | | This allows the default for --ro or --rw to be controlled for the three tools guestfish, guestmount and virt-rescue.
* fuse: Document -w flag in --help output.Richard W.M. Jones2011-03-301-0/+1
|
* fuse: Fix getxattr, listxattr calls and add a regression test (RHBZ#691389).Richard W.M. Jones2011-03-281-15/+59
| | | | | | | | | | | | | | | | | The documentation for the getxattr and listxattr calls is not very clear and as a result we were always returning something different from that which the Linux kernel would usually return. This fixes these calls, at least far enough that both the 'getfattr' and 'getfacl' programs now work fine on FUSE-mounted filesystems. Note that SELinux attrs are *not* passed through. This appears to be a known bug between SELinux and FUSE. For more information see: http://www.spinics.net/lists/selinux/msg09460.html Notes: Labels: bugfix, RHBZ#691389
* fish: Add guestfish --live, guestmount --live options.Richard W.M. Jones2011-02-031-0/+5
| | | | | | 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-191-0/+59
|
* 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.
* fish: Add --rw option (does nothing yet).Richard W.M. Jones2010-11-081-1/+6
| | | | | | | | | | 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-051-2/+11
| | | | | | | | | | | 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
|
* Unify guestfish and guestmount options processing (RHBZ#642932).Richard W.M. Jones2010-10-271-113/+51
| | | | | | | | | | | | | | | 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: 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.
* fuse: Implement write syscall (RHBZ#592883).Richard Jones2010-05-201-1/+11
|
* 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.
* 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-291-0/+4
| | | | | | | | | | | | | | | 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).
* 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-201-14/+14
| | | | | | | | | | | | | | | 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.
* 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.
* 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: 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-101-15/+1
| | | | | 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-091-5/+5
| | | | | 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.
* Fixes for compiling on 32 bit.Richard W.M. Jones2009-11-061-1/+1
|
* Comment out code which provokes strange gcc optimization error.Richard Jones2009-11-031-0/+5
|