summaryrefslogtreecommitdiffstats
path: root/fuse/guestmount.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* FUSE filesystem support.Richard Jones2009-11-031-0/+1163
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).