Marcus Holland-Moritz
146c39fe70
feat: support for displaying/serializing library dependencies (gh #207 )
2024-04-01 15:58:02 +02:00
Marcus Holland-Moritz
f5ac66503d
fix(windows): hopefully fix path tweaking / canonicalization
2024-02-13 01:12:18 +01:00
Marcus Holland-Moritz
3d17b2c75a
fix: clean up blocksize implementation
...
It helps to RTFM. `st_blocks` and `st_blksize` are *not* related.
`st_blksize` *really is* the optimal I/O block size. `st_blocks`
is *always* given in multiples of 512 bytes.
2024-02-12 18:29:09 +01:00
Marcus Holland-Moritz
f1f55dd48c
feat(dwarfs): add readahead option
...
The implementation is extremely simple for now and readahead is off
by default. When sequentially accessing large files, the speedup can
be significant, though.
2024-02-12 14:34:40 +01:00
Marcus Holland-Moritz
5460900c97
feat(dwarfs): make block size configurable, mostly for macOS
...
macFUSE derives the "optimal" read size from `st_blksize`, which
results in very sub-optimal (small) read requests on macOS. This
adds an option to configure the block size and sets the default
sufficiently high on macOS.
2024-02-12 00:37:11 +01:00
Marcus Holland-Moritz
b5cbc02110
fix: always use delayed loading for WinFsp DLL
2024-02-08 10:20:14 +01:00
Marcus Holland-Moritz
a97161e6da
feat: support building on OSX (should address gh #132 )
2024-01-30 21:59:54 +01:00
Marcus Holland-Moritz
cad2f33a65
chore: check include path of fuse_lowlevel.h
2024-01-23 15:07:40 +01:00
Marcus Holland-Moritz
c6241810ea
refactor: ensure FUSE driver options are standard layout
2024-01-20 12:46:40 +01:00
Marcus Holland-Moritz
06e1910554
refactor: pass os_access to worker_group and other classes
2024-01-20 12:46:40 +01:00
Marcus Holland-Moritz
6994f9691e
feat: add support for built-in manual pages
2024-01-20 12:46:40 +01:00
Marcus Holland-Moritz
96a0ae1156
feat(logging): consolidate log option handling, add --log-with-context
2024-01-15 22:08:44 +01:00
Marcus Holland-Moritz
cc583dade5
feat(dwarfs): add diagnostics about missing fusermount programs
2024-01-09 15:46:48 +01:00
Marcus Holland-Moritz
c6ee3c8411
refactor(dwarfs): clean up fuse driver implementation
2024-01-06 17:28:27 +01:00
Marcus Holland-Moritz
f7336ba043
refactor: clean up & simplify error handling
2024-01-06 17:28:27 +01:00
Marcus Holland-Moritz
b5e6398c96
refactor: add parse_image_offset + test
2024-01-06 17:28:27 +01:00
Marcus Holland-Moritz
fea0352f67
test: test command line tool usage / help
2023-12-28 19:24:46 +01:00
Marcus Holland-Moritz
7b2029674d
refactor: simplify calling *_main() from tests even more
2023-12-28 19:02:52 +01:00
Marcus Holland-Moritz
676e46dd60
chore: add another *_main overload that always accepts utf8 args
...
This is mostly for convenient use from within the test suite.
2023-12-28 19:02:03 +01:00
Marcus Holland-Moritz
148cee8400
refactor(dwarfs): use userdata references instead of pointers
2023-12-28 19:02:03 +01:00
Marcus Holland-Moritz
298e23973a
refactor: more iolayer abstraction
2023-12-28 19:02:03 +01:00
Marcus Holland-Moritz
11da064a1a
fix: root inode should also have inodeinfo xattr
2023-12-22 22:55:15 +01:00
Marcus Holland-Moritz
ad9bae8618
fix: ensure common options (like --log-level) are consistent
2023-12-19 16:32:48 +01:00
Marcus Holland-Moritz
447320b15a
refactor(filesystem_v2): simplify constructor
2023-12-19 16:32:48 +01:00
Marcus Holland-Moritz
07412cb7c0
feat(fuse-driver): implement dwarfs.inodeinfo xattr
2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
6177090eca
Don't enable readlink
if filesystem has no symlinks
...
This reduces the number of `getattr` calls with WinFsp and should
improve performance on Windows.
2023-08-11 18:18:11 +02:00
Marcus Holland-Moritz
d4d65a4d99
Fix canonical path on Windows when accessing mounted DwarFS image
2023-08-11 18:18:11 +02:00
Marcus Holland-Moritz
9915b3e1f4
Factor out block_range and iovec_read_buf types
2023-07-12 18:10:16 +02:00
Marcus Holland-Moritz
859195c24e
Better Unicode argument handling in FUSE driver on Windows
2023-07-11 01:23:12 +02:00
Marcus Holland-Moritz
35d27e8e24
Clean up FUSE driver
2023-07-10 23:44:36 +02:00
Marcus Holland-Moritz
e6cec261e5
Define O_ACCMODE if necessary (e.g. on Windows)
2023-07-01 15:08:15 +02:00
Marcus Holland-Moritz
c3de719134
Fix access mode check in open() call
2023-07-01 14:46:32 +02:00
Marcus Holland-Moritz
e6dc6731e7
Add listxattr for Linux, remove xattr support for Windows
2023-07-01 11:30:02 +02:00
Marcus Holland-Moritz
6f210daf93
Implement rename operation for WinFsp to work around crash
2023-06-30 22:49:45 +02:00
Marcus Holland-Moritz
5ae78b9315
Add file system performance monitor
2023-06-29 12:51:28 +02:00
Marcus Holland-Moritz
0c26a57ca5
Fix uninitialized fields in struct stat in getattr call
2023-06-28 15:15:45 +02:00
Marcus Holland-Moritz
77f2d39437
Finally get rid of std::endl
2023-06-27 14:22:05 +02:00
Marcus Holland-Moritz
449d7490ac
Suppress extra usage info with WinFsp
2023-06-27 12:07:55 +02:00
Marcus Holland-Moritz
1b1a2b41b4
Use readlink_mode::unix for (WinFsp) FUSE layer
2023-06-26 21:08:28 +02:00
Marcus Holland-Moritz
499dca4551
VCPKG & WINFSP support
2023-06-25 18:27:03 +02:00
Marcus Holland-Moritz
07c310c615
Add listxattr implementation to make EAs work
2023-06-25 09:46:20 +02:00
Marcus Holland-Moritz
3357817e12
Small tweaks to FUSE driver
2023-06-25 09:45:44 +02:00
Marcus Holland-Moritz
de1195e584
WinFsp compatibility
2023-06-24 16:47:12 +02:00
Marcus Holland-Moritz
43d47c028f
Support FUSE high-level API (for WinFsp)
2023-06-24 15:27:56 +02:00
Marcus Holland-Moritz
e0c8099b90
WIP file_off_t
2023-06-22 01:14:52 +02:00
Marcus Holland-Moritz
fd157eb611
WIP file_stat
2023-06-22 00:15:26 +02:00
Marcus Holland-Moritz
4681523673
Build universal binary
2023-05-28 16:22:36 +02:00