- 25 Aug, 2024 3 commits
-
-
Han-Wen Nienhuys authored
The passthrough feature lets a filesystem register an open file descriptor with the kernel to avoid roundtrips for read/write operations. Change-Id: Ia8bde502a3450028f4d87ba61fa9c76ea3ea6c63
-
Han-Wen Nienhuys authored
Change-Id: I18bde502a3450028f4d87ba61fa9c76ea3ea6c63
-
Han-Wen Nienhuys authored
Document why some bits are platform dependent. Change-Id: Ib8bde502a3450028f4d87ba61fa9c76ea3ea6c63
-
- 23 Aug, 2024 3 commits
-
-
Han-Wen Nienhuys authored
Add definitions and print routines for FUSE_NO_EXPORT_SUPPORT, FUSE_NOTIFY_RESEND and FOPEN_PASSTHROUGH and associated fields. Change-Id: I5bd52c44a91484ac78ea5413cbd4bf5dc927501e
-
Han-Wen Nienhuys authored
Change-Id: I331f9f702fa0a850df2d6f1e3dd75f9f550750ed
-
Han-Wen Nienhuys authored
Multiple reader code was introduced in 03081e9d (May 2012). Redo the benchmark to verify that this still makes sense. Change-Id: I03432b93285d3e3e9494858c844be1ff2dbd3147
-
- 16 Aug, 2024 1 commit
-
-
Zoey Greer authored
This enables using go-fuse in a init binary that is spawned directly from the kernel. See also https://github.com/hanwen/go-fuse/pull/525. Change-Id: Ibbaa04af993677536bd4ae8a173a5a6d93118940
-
- 15 Aug, 2024 3 commits
-
-
Han-Wen Nienhuys authored
mips64 uses 0x4000 for LARGEFILE. See also issue #514 Change-Id: I46e83824f412131961318b16767bc05273fa2fbe
-
Han-Wen Nienhuys authored
Add `isTest` to avoid panicking outside of test scenarios, in case we mess up the flag definitions. The latter can easily happen, due to subtle differences between architectures. Change-Id: I4085de49e39eddf328269a7a3e694818c693e195
-
Han-Wen Nienhuys authored
This will allow duplicate keys in the initialization. Change-Id: I16969bddd1aad0232477379229a0afbe8faf1933
-
- 28 May, 2024 2 commits
-
-
Jakob Unterwurzacher authored
gvfsd-trash sets an inotify watch on mntDir and stat()s every file that is created, racing with the test logic. Create our files in a subdir to avoid that, as gvfsd-trash does not monitor subdirs. Fixes: https://github.com/hanwen/go-fuse/issues/478 Change-Id: I8e297a16af7fdd8b8c9574d456bbf43d36eddd67
-
Jakob Unterwurzacher authored
It is sometimes helpful to know which process accesses the filesystem. Relates-to: https://github.com/hanwen/go-fuse/issues/478 Change-Id: Ie435d093f03a32c02f02b45df880a207c5d7cad1
-
- 18 May, 2024 2 commits
-
-
Han-Wen Nienhuys authored
Change-Id: I8f05010f64edaf1d41fdfca31ee4ae3079cd0ae3
-
Han-Wen Nienhuys authored
As of commit 4f621f9a, we don't support older versions Change-Id: I9f05010f64edaf1d41fdfca31ee4ae3079cd0ae3
-
- 15 May, 2024 4 commits
-
-
Han-Wen Nienhuys authored
Change-Id: Ib094e7e55f922780408223626d88388d2cc5f8b6
-
Han-Wen Nienhuys authored
Use UtimesNanoAt with AT_SYMLINK_NOFOLLOW. Add PosixTest/SetattrSymlink to test this. Change-Id: Ia3a00ad75afd1ba255965025f63fd047662885ec
-
lch authored
posix_fallocate(2) returns error directly without setting errno[1] [1]: https://man.freebsd.org/cgi/man.cgi?query=posix_fallocate&sektion=2 Change-Id: I90ac60ecab6f8814a579cc96d11d4d6660408e88
-
lch authored
This test case is going to test whether the file lock works well on the system. It firstly adds a lock and then get the lock through syscalls. It uses F_OFD_GETLK command of fcntl(2) to get the lock info on an opened file description[1], which is not defined on the FreeBSD. This commit seperate the process of getting the information of lock for different OSes, and mimic the behaviour of F_OFD_GETLK on FreeBSD. [1]: https://www.gnu.org/software/libc/manual/html_node/Open-File-Description-Locks.html Change-Id: I8abae0e7040fc667143eea028731e341be9b1baf
-
- 12 May, 2024 1 commit
-
-
Jakob Unterwurzacher authored
Fails to compile. Example: https://github.com/hanwen/go-fuse/actions/runs/8909081785/job/24465823082 Run GOMAXPROCS="1" ./all.bash + go build ./... go: downloading golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a Error: fs/api.go:237:2: //go:build comment without // +build comment Error: fs/api.go:237:2: //go:build comment without // +build comment Error: Process completed with exit code 1. Change-Id: I2e396906d9cf9fa2248b04f3963b1b2d32b6fd57
-
- 01 May, 2024 2 commits
-
-
Jakob Unterwurzacher authored
Calling Serve() multiple times leads to a panic on unmount and fun debugging sessions ( https://github.com/hanwen/go-fuse/issues/512 ). Catch it early. Change-Id: I3c490448fa3b8407a6db1bd8ad94b8a4e1a93828
-
Jakob Unterwurzacher authored
Per default, only 1000 FUSE mounts are allowed, then you get > /usr/bin/fusermount3: too many FUSE filesystems mounted; mount_max=N can be set in /etc/fuse.conf Let's stay well below 1000 as there may be other (unrelated) FUSE mounts also occupying slots. Change-Id: I2e2e094a88236ff803abba3722395c29207c8571
-
- 30 Apr, 2024 1 commit
-
-
lch authored
Change-Id: Iffa5314fbe171d182a4bdef42e0ab4781cc1d221
-
- 21 Apr, 2024 1 commit
-
-
lch authored
Prefer x/sys/unix over syscall package, which supports FreeBSD. Change-Id: Ifd3a0fd6d2b90369a6e1e74d92606a655815a6a4
-
- 20 Apr, 2024 2 commits
- 14 Apr, 2024 2 commits
- 12 Apr, 2024 5 commits
-
-
lch authored
Change-Id: I8ff8e8dc9431b5af52e3ca8e78f0da73cead9008
-
lch authored
Change-Id: Ibc41b9efc62f89359e712def53b1cfc1dd4c24fc
-
lch authored
Both FreeBSD and Darwin must use a single reader to access the FUSE device. Change-Id: I51c467bb0b8e1fda871665d033dd89d11fbe961c
-
lch authored
fuse: merge attr definition of Darwin and FreeBSD Change-Id: I7229229aed8afad74089bc2ce7eff0b86bd2ccd0
-
lch authored
Change-Id: I7caa793f1b7a2c3601094ca46e1a3812e763e813
-
- 08 Apr, 2024 3 commits
- 25 Mar, 2024 2 commits
-
-
Han-Wen Nienhuys authored
Thanks to https://github.com/likeazir for spotting this Change-Id: I0952482886cfadb23c723d89a64fd4ced1b57c92
-
Han-Wen Nienhuys authored
This avoids spurious error messages when unmounting a file system directly after closing a file. Fixes #505 Change-Id: I3a6a6ada0b5e5abe95a1d7965a48ddb46664310a
-
- 24 Mar, 2024 1 commit
-
-
Han-Wen Nienhuys authored
Commit 1aa7b7b2 ("fs: document known deadlocks") describes a deadlock scenario where inheriting file descriptors triggers a spurious close during subprocess setup, leading to deadlock. This exact scenario actually happens when setting up the FUSE mount using fusermount: the fusermount process inherits one half of a socket pair, which is used to pass back the opened /dev/fuse file. After the mount is successful, we open a file in the FUSE mount for the poll hack. This means that in parallel scenarios, we may use fd 3 as the poll hack, while also calling fusermount with inherited file descriptors. Solve this by grabbing fd 3 during initialization. This is not completely foolproof, as FD 0, 1 and 2 could be closed (and then reused) after initialization finished, but this should be uncommon as 0, 1 and 2 are standard input/output/error. Doing it during the init phase means that we prevent deadlock for all users that inherit single file descriptors. Change-Id: If5ac7c941f0ee2e13ca657c31d056a676eed3fde
-
- 09 Feb, 2024 1 commit
-
-
Han-Wen Nienhuys authored
On amd64, syscall.O_LARGEFILE is 0x0, making it be ignored as a key. However, the kernel always passes 0x8000 to the FUSE server for the OPEN call. The previous behavior causes crashes on 386, because the flagname is added twice. Change-Id: Ibabcdfef4d90e4fa4d02963d45a4d4cf2cba1ea2
-
- 20 Nov, 2023 1 commit
-
-
Glonee authored
make mount procedure cleaner by using standard library to parse socker control message Change-Id: Ic52f5a0e2ddda40e680e341e35fb9b4158ba3324
-