Antonio SJ Musumeci
9308a3729c
When file unlinked check open_files map
...
Inadvertantly removed. Didn't realize that the kernel would not always
send file handle when unlinked.
2026-04-28 16:04:26 -04:00
Antonio S. Musumeci
98648ae44b
FUSE: require valid file/dir handle; drop open_files fallback
...
Several FUSE ops fell back to looking up a FileInfo via
state.open_files when the kernel-provided fh was zero, returning
-ENOENT if the lookup failed. This path papered over handle-tracking
bugs and added cost on every call. Use the handle directly and
return -EBADF when it is invalid - the kernel should always hand us
a valid fh for an open resource.
Also simplify FileInfo::from_fh / DirInfo::from_fh and their to_fh
helpers: callers now handle the null-pointer case explicitly so the
ASSERT_NOT_NULL checks are redundant.
Covers fallocate, fchmod, fchown, fgetattr, flock, ftruncate,
futimens, read, release, releasedir, write, statx, ioctl (file +
dir), readdir (sequential, concurrent-on-read,
concurrent-on-search), and the passthrough fast paths in
create/open.
2026-04-18 13:47:23 -05:00
Antonio SJ Musumeci
61365d226d
Move scope_guard to vendored/
2026-03-24 21:13:34 -04:00
Antonio SJ Musumeci
a5a6c892b9
Update copyright headers
2026-03-02 01:09:16 -05:00
Antonio SJ Musumeci
a2860c3f1f
Use debug mutex more
2026-03-02 01:09:16 -05:00
trapexit
0371f03def
Rework how fuse request context is handled ( #1543 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-10-12 23:21:36 -05:00
trapexit
569a151da2
Add ability to proxy ioprio of client apps ( #1534 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-09-26 11:36:56 -05:00
trapexit
8c649d33ee
Start using std::filesystem::path for fusepath ( #1522 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-09-17 22:51:16 -05:00
trapexit
f64ff9ca1e
Revert removal of readdir init setup, simplify cfg usage ( #1520 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-09-06 11:03:51 -05:00
trapexit
e8cd74cab0
Move everything to negative errno return types ( #1499 )
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled
2025-07-25 17:53:48 -05:00
trapexit
e216a81a27
Rework movefile and cow break to use copyfile ( #1488 )
CodeQL / Analyze (push) Waiting to run
mkdocs / deploy (push) Waiting to run
2025-06-28 17:27:40 -05:00
Antonio SJ Musumeci
2722f4f64d
Fix error handling for cached writes
2023-06-29 22:50:24 -05:00
Antonio SJ Musumeci
6a14a10e6c
Fix read/write behavior and return value depending on direct_io
...
Also add parallel direct write option for 6.2+ kernels.
2023-06-24 23:06:14 -05:00
Antonio SJ Musumeci
82430e1079
Fix moveonenospc when file opened with append mode
2023-06-12 23:40:08 -05:00
Antonio SJ Musumeci
538467b86d
config: rework global config, remove rwlock, make branches RCU like
...
Also added unit tests. Should have done separately but found a number of bugs.
2021-01-14 21:02:10 -05:00
Antonio SJ Musumeci
1b26f4908e
general cleanup, slight memory reduction
2020-11-19 22:58:52 -05:00
Antonio SJ Musumeci
fc3453932a
branches: add per branch minfreespace w/ original value as default
...
example: /mnt/disk0=RW,1G:/mnt/disk1=RW,2G
2020-09-04 21:04:45 -04:00
Antonio SJ Musumeci
2fe20b888e
clean up and separate out fs_* files
2020-08-18 19:28:36 -04:00
Antonio SJ Musumeci
08d267fc61
moveonenospc: enhance the feature to allow using a policy
...
Just like functions you can now set a policy for moveonfreenospc. This
allows for more flexibility.
For backwards compatibility moveonfreenospc=true is converted to
moveonfreenospc=mfs.
minfreespace does apply which is slightly different from original behavior.
2020-07-15 19:33:05 -04:00
Antonio SJ Musumeci
c0990644e8
remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok
2020-07-08 19:25:23 -04:00
Antonio SJ Musumeci
54c41c4994
rework config management
...
* Add standard way to do str2val and val2str conversion
* Add support for a config file
* Add support for reading and writing settings via ioctl
2020-06-18 18:54:25 -04:00
Antonio SJ Musumeci
9d9ee7b71d
general code cleanup
2019-01-31 22:47:09 -05:00