- 16 Feb, 2016 2 commits
-
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
- 12 Feb, 2016 1 commit
-
-
Jakob Unterwurzacher authored
Apart from adding the missing write into clientInodeMap, I have added a few comments about what happens. Hopefully helps the next person looking at this code.
-
- 09 Feb, 2016 2 commits
-
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
- 06 Feb, 2016 2 commits
-
-
Jakob Unterwurzacher authored
Also, make the script much less chatty.
-
Jakob Unterwurzacher authored
If the file handle is specified we should use it instead of picking one at random. Note that the only real change is for ftruncate. For fstat, fchown and fchmod the kernel currently never passes a file descriptor. Fixes #95.
-
- 03 Feb, 2016 1 commit
-
-
Han-Wen Nienhuys authored
-
- 02 Feb, 2016 6 commits
-
-
Han-Wen Nienhuys authored
This lets you Mount multiple nodes in parallel.
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
This prevents data races flagged by the race detector.
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
This fixes the data race in TestDeleteNotify.
-
Han-Wen Nienhuys authored
-
- 21 Jan, 2016 2 commits
-
-
Yongwoo Park authored
time.Unix() returns int64 regardless of target platform but timeval is defined as int32 values on ubuntu-32bit NsecToTimeval has a nanosecond problem(negative value) before epoch but still can use second
-
Yongwoo Park authored
-
- 14 Jan, 2016 8 commits
-
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
It was broken in 1b3f7953, which removed the possibility of trivially inspecting go-fuse internal inode numbers.
-
Han-Wen Nienhuys authored
-
- 10 Jan, 2016 2 commits
-
-
Jakob Unterwurzacher authored
Due to a typo, returnRequest never actually returned the read buffer to readPool. Also, we want to put the complete buffer back into the pool - this caused errors later on. loopback "tar xzf ../linux-3.0.tar.gz" timings: before: 35 seconds after: 10 seconds
-
Jakob Unterwurzacher authored
go-fuse is currently lagging behind libfuse in terms of small-file performance due to GC overhead. In preparation to optimizing the code, this patch makes cpu and mem profiling easier.
-
- 09 Jan, 2016 1 commit
-
-
Jakob Unterwurzacher authored
Properly implementing Utimens caused the OSX build to break because the utimensat system call is not available there. This patch reverts the OSX implementation of Utimens to using syscall.Utimes(). This is not actually correct but the best we can do. Thanks to @spaghetti2514 who reported the issue and tested the patches.
-
- 17 Dec, 2015 2 commits
-
-
Han-Wen Nienhuys authored
-
Yongwoo Park authored
fuse.EntryOut can be corrupted if FS implementation does not set all fileds in the Lookup of rawFS go-mtpfs displays wrong information(ls -l) for directory(size, Nlink, ..)
-
- 15 Dec, 2015 2 commits
-
-
Eliot Courtney authored
-
Jakob Unterwurzacher authored
The problem was that os.Chtimes() operates on the target of the symlink and not on the symlink itself. When tar extracts an archive containing a symlink, it actually wants to set the times on the symlink. This can also be tested using "touch -h". This patch adds a wrapper for the Linux utimensat(2) syscall that allows passing flags along with a unit test. It uses the flag AT_SYMLINK_NOFOLLOW to implement loopbackFileSystem.Utimens() properly. It also add handling for UTIME_NOW and UTIME_OMIT that was already present in loopbackFile.Utimens() but missing in loopbackFileSystem. Fixes issue 81 ( https://github.com/hanwen/go-fuse/issues/81 ).
-
- 07 Dec, 2015 2 commits
-
-
Han-Wen Nienhuys authored
-
Eliot Courtney authored
-
- 01 Dec, 2015 1 commit
-
-
Han-Wen Nienhuys authored
This stops programs from crashing if fusermount is not there.
-
- 28 Oct, 2015 1 commit
-
-
Jakob Unterwurzacher authored
Fixes issue #69
-
- 22 Oct, 2015 1 commit
-
-
Jakob Unterwurzacher authored
...if it has already been set by the filesystem. "out.Ino" is the user-facing inode number that is displayed by "ls -li". This change allows loopback filesystems to expose the inode number of the underlying filesystem. As a "real" inode number, this one is stable for the lifetime of the file, even across remounts. libfuse has the `use_ino` option that allows the inode numbers to be set arbitrarily as well. This has been used by EncFS for years. The Linux kernel stores the inode number in `orig_ino`. Grepping in `fs/fuse` shows that it is only read once in `fuse_update_attributes`, and only if the `stat` argument is not NULL. There is only one caller that passes that argument: `fuse_getattr`. In short, the kernel does not use the inode number for anything but reporting it via `stat()`, hence setting the inode number is safe. This functionality will be used for improving log output in gocryptfs, where file names cannot be used because they are encrypted.
-
- 11 Oct, 2015 4 commits
-
-
Jakob Unterwurzacher authored
The entries should exist on any filesystem. Fixes issue #62
-
Jakob Unterwurzacher authored
We have to use the low-level function syscall.Getdents because os.Readdir and friends will filter out "." and "..".
-
Jakob Unterwurzacher authored
Futimes only takes microsecond resolution while the FUSE call Utimens wants nanosecond precision. Switch from Futimes to futimens. This is why UTIME_OMIT did not work - this change fixes the failure of xfstests generic/221 (issue #60).
-
Jakob Unterwurzacher authored
This function is neither provided by the syscall package nor x/sys/unix.
-