libgocryptfs/internal/fusefrontend
Jakob Unterwurzacher 5b1eed35ee fusefrontend: Utimens: convert ENOENT to EBADF
If /proc/self/fd/X did not exist, the actual error is that the file
descriptor was invalid.

go-fuse's pathfs prefers using an open fd even for path-based operations
but does not take any locks to prevent the fd from being closed.
Instead, it retries the operation by path if it get EBADF. So this
change allows the retry logic to work correctly.

This fixes the error

    rsync: failed to set times on "/tmp/ping.Kgw.mnt/linux-3.0/[...]/.dvb_demux.c.N7YlEM":
    No such file or directory (2)

that was triggered by pingpong-rsync.bash.
2016-06-09 22:21:00 +02:00
..
args.go longnames part I: Create and OpenDir work with long filenames > 176 bytes 2016-02-06 22:54:14 +01:00
compat_darwin.go Move pathfs_frontend to internal/fusefrontend 2016-02-06 19:27:59 +01:00
compat_linux.go prelloc: warn and continue if fallocate(2) is not supported 2016-04-20 22:47:31 +02:00
file.go fusefrontend: Utimens: convert ENOENT to EBADF 2016-06-09 22:21:00 +02:00
file_holes.go Move pathfs_frontend to internal/fusefrontend 2016-02-06 19:27:59 +01:00
fs.go fusefrontend: fix chown on dangling symlinks 2016-06-08 00:32:44 +02:00
fs_dir.go fusefrontend: Utimens: convert ENOENT to EBADF 2016-06-09 22:21:00 +02:00
names.go longnames part I: Create and OpenDir work with long filenames > 176 bytes 2016-02-06 22:54:14 +01:00
write_lock.go fusefrontend: simplify wlockMap 2016-05-29 22:40:05 +02:00