Now
MAIN commitmail json YAML
src/share/man/man4/vmt.4@1.5
/
diff
/
nxr@1.5
src/sys/arch/aarch64/aarch64/cpu.c@1.76 / diff / nxr@1.76
src/sys/arch/arm/acpi/cpu_acpi.c@1.15 / diff / nxr@1.15
src/sys/arch/arm/arm32/cpu.c@1.154 / diff / nxr@1.154
src/sys/arch/arm/fdt/cpu_fdt.c@1.43 / diff / nxr@1.43
src/sys/arch/arm/include/cpuvar.h@1.2 / diff / nxr@1.2
src/sys/arch/arm/mainbus/cpu_mainbus.c@1.19 / diff / nxr@1.19
src/sys/arch/aarch64/aarch64/cpu.c@1.76 / diff / nxr@1.76
src/sys/arch/arm/acpi/cpu_acpi.c@1.15 / diff / nxr@1.15
src/sys/arch/arm/arm32/cpu.c@1.154 / diff / nxr@1.154
src/sys/arch/arm/fdt/cpu_fdt.c@1.43 / diff / nxr@1.43
src/sys/arch/arm/include/cpuvar.h@1.2 / diff / nxr@1.2
src/sys/arch/arm/mainbus/cpu_mainbus.c@1.19 / diff / nxr@1.19
kern/58195: arm: Support drvctl -d and -r for cpufeaturebus
This is required for detaching and re-attaching the vmt(4) driver on aarch64.
This is required for detaching and re-attaching the vmt(4) driver on aarch64.
MAIN commitmail json YAML
src/distrib/sets/lists/modules/ad.aarch64@1.13
/
diff
/
nxr@1.13
src/share/man/man4/vmt.4@1.4 / diff / nxr@1.4
src/sys/arch/aarch64/aarch64/cpu.c@1.75 / diff / nxr@1.75
src/sys/arch/aarch64/aarch64/vmt.c@1.1 / diff / nxr@1.1
src/sys/arch/aarch64/conf/files.aarch64@1.45 / diff / nxr@1.45
src/sys/arch/aarch64/include/cpu.h@1.50 / diff / nxr@1.50
src/sys/arch/evbarm/conf/GENERIC64@1.215 / diff / nxr@1.215
src/sys/arch/x86/x86/vmt.c@1.22 / diff / nxr@1.22
src/sys/dev/fdt/files.fdt@1.73 / diff / nxr@1.73
src/sys/dev/fdt/vmt_fdt.c deleted
src/sys/dev/vmt/vmt_subr.c@1.10 / diff / nxr@1.10
src/sys/modules/Makefile@1.286 / diff / nxr@1.286
src/sys/modules/vmt/Makefile@1.5 / diff / nxr@1.5
src/share/man/man4/vmt.4@1.4 / diff / nxr@1.4
src/sys/arch/aarch64/aarch64/cpu.c@1.75 / diff / nxr@1.75
src/sys/arch/aarch64/aarch64/vmt.c@1.1 / diff / nxr@1.1
src/sys/arch/aarch64/conf/files.aarch64@1.45 / diff / nxr@1.45
src/sys/arch/aarch64/include/cpu.h@1.50 / diff / nxr@1.50
src/sys/arch/evbarm/conf/GENERIC64@1.215 / diff / nxr@1.215
src/sys/arch/x86/x86/vmt.c@1.22 / diff / nxr@1.22
src/sys/dev/fdt/files.fdt@1.73 / diff / nxr@1.73
src/sys/dev/fdt/vmt_fdt.c deleted
src/sys/dev/vmt/vmt_subr.c@1.10 / diff / nxr@1.10
src/sys/modules/Makefile@1.286 / diff / nxr@1.286
src/sys/modules/vmt/Makefile@1.5 / diff / nxr@1.5
port-arm/58194: Resurrect vmt(4) from bitrot
On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.
Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.
On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.
Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.
MAIN commitmail json YAML
src/distrib/sets/lists/tests/mi@1.1312
/
diff
/
nxr@1.1312
src/tests/kernel/Makefile@1.78 / diff / nxr@1.78
src/tests/kernel/arch/aarch64/stack_pointer.h@1.1 / diff / nxr@1.1
src/tests/kernel/t_signal_and_sp.c@1.1 / diff / nxr@1.1
src/tests/kernel/Makefile@1.78 / diff / nxr@1.78
src/tests/kernel/arch/aarch64/stack_pointer.h@1.1 / diff / nxr@1.1
src/tests/kernel/t_signal_and_sp.c@1.1 / diff / nxr@1.1
Add a test for kern/58149
aarch64: Cannot return from a signal handler if SP was misaligned when the signal arrived
aarch64: Cannot return from a signal handler if SP was misaligned when the signal arrived
MAIN commitmail json YAML
hack(6): Fix a segfault that occurs when ASLR is enabled
Prior to this change, savenames() would store "objects" in save files as a
blob, and restnames() would load it and overwrite "objects". But since
objclass::oc_name and oc_descr are pointers to string constants, they would
be invalid when the next time the process is spawned, and opening the
inventory would crash by dereferencing invalid pointers.
Prior to this change, savenames() would store "objects" in save files as a
blob, and restnames() would load it and overwrite "objects". But since
objclass::oc_name and oc_descr are pointers to string constants, they would
be invalid when the next time the process is spawned, and opening the
inventory would crash by dereferencing invalid pointers.
MAIN commitmail json YAML
refuse(3): Fix broken 3.5, 3.6, and 3.7 APIs
These API versions were completely missing from refuse/fs.c. User programs
could request these versions and build fine, but they couldn't even
initialize a FUSE context at run time.
These API versions were completely missing from refuse/fs.c. User programs
could request these versions and build fine, but they couldn't even
initialize a FUSE context at run time.
MAIN commitmail json YAML
callout(9): Delete the unused member cc_cancel from struct callout_cpu
I see no reason why it should be there, and believe its a leftover from
some old code.
I see no reason why it should be there, and believe its a leftover from
some old code.
MAIN commitmail json YAML
callout(9): Tidy up the condition for "callout is running on another LWP"
No functional changes.
No functional changes.
MAIN commitmail json YAML
callout(9): Fix panic() in callout_destroy() (kern/57226)
The culprit was callout_halt(). "(c->c_flags & CALLOUT_FIRED) != 0" wasn't
the correct way to check if a callout is running. It failed to wait for a
running callout to finish in the following scenario:
1. cpu0 initializes a callout and schedules it.
2. cpu0 invokes callout_softlock() and fires the callout, setting the flag
CALLOUT_FIRED.
3. The callout invokes callout_schedule() to re-schedule itself.
4. callout_schedule_locked() clears the flag CALLOUT_FIRED, and releases
the lock.
5. Before the lock is re-acquired by callout_softlock(), cpu1 decides to
destroy the callout. It first invokes callout_halt() to make sure the
callout finishes running.
6. But since CALLOUT_FIRED has been cleared, callout_halt() thinks it's not
running and therefore returns without invoking callout_wait().
7. cpu1 proceeds to invoke callout_destroy() while it's still running on
cpu0. callout_destroy() detects that and panics.
The culprit was callout_halt(). "(c->c_flags & CALLOUT_FIRED) != 0" wasn't
the correct way to check if a callout is running. It failed to wait for a
running callout to finish in the following scenario:
1. cpu0 initializes a callout and schedules it.
2. cpu0 invokes callout_softlock() and fires the callout, setting the flag
CALLOUT_FIRED.
3. The callout invokes callout_schedule() to re-schedule itself.
4. callout_schedule_locked() clears the flag CALLOUT_FIRED, and releases
the lock.
5. Before the lock is re-acquired by callout_softlock(), cpu1 decides to
destroy the callout. It first invokes callout_halt() to make sure the
callout finishes running.
6. But since CALLOUT_FIRED has been cleared, callout_halt() thinks it's not
running and therefore returns without invoking callout_wait().
7. cpu1 proceeds to invoke callout_destroy() while it's still running on
cpu0. callout_destroy() detects that and panics.
MAIN commitmail json YAML
Use sysconf(_SC_PAGESIZE) instead of PAGE_SIZE
It broke build on platforms where PAGE_SIZE was not defined in
<machine/vmparam.h>.
It broke build on platforms where PAGE_SIZE was not defined in
<machine/vmparam.h>.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2409
/
diff
/
nxr@1.2409
src/lib/librefuse/HACKING.md@1.1 / diff / nxr@1.1
src/lib/librefuse/TODO@1.8 / diff / nxr@1.8
src/lib/librefuse/fuse.h@1.34 / diff / nxr@1.34
src/lib/librefuse/fuse_internal.h@1.5 / diff / nxr@1.5
src/lib/librefuse/fuse_lowlevel.h@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse.c@1.114 / diff / nxr@1.114
src/lib/librefuse/refuse/Makefile.inc@1.5 / diff / nxr@1.5
src/lib/librefuse/refuse/chan.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/chan.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/fs.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/fs.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v11.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v11.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v21.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v21.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v22.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v22.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v23.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v25.c@1.1 / diff / nxr@1.1
:
(more 14 files)
src/lib/librefuse/HACKING.md@1.1 / diff / nxr@1.1
src/lib/librefuse/TODO@1.8 / diff / nxr@1.8
src/lib/librefuse/fuse.h@1.34 / diff / nxr@1.34
src/lib/librefuse/fuse_internal.h@1.5 / diff / nxr@1.5
src/lib/librefuse/fuse_lowlevel.h@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse.c@1.114 / diff / nxr@1.114
src/lib/librefuse/refuse/Makefile.inc@1.5 / diff / nxr@1.5
src/lib/librefuse/refuse/chan.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/chan.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/fs.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/fs.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v11.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v11.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v21.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v21.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v22.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v22.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v23.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/v25.c@1.1 / diff / nxr@1.1
:
(more 14 files)
lib/librefuse: Implement all sorts of compat tweaks to appease various file systems
ReFUSE now supports all the FUSE API variants from FUSE 1.1 to FUSE
3.10. Sorry for the freaking giant patch. I could not break it down
any further.
ReFUSE now supports all the FUSE API variants from FUSE 1.1 to FUSE
3.10. Sorry for the freaking giant patch. I could not break it down
any further.
MAIN commitmail json YAML
Zero-clear the fuse_context in fuse_destroy(3)
MAIN commitmail json YAML
Add some missing struct fields, structs, and constants that are part of the API
MAIN commitmail json YAML
src/lib/librefuse/fuse_internal.h@1.4
/
diff
/
nxr@1.4
src/lib/librefuse/refuse.c@1.112 / diff / nxr@1.112
src/lib/librefuse/refuse_lowlevel.c@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse.c@1.112 / diff / nxr@1.112
src/lib/librefuse/refuse_lowlevel.c@1.3 / diff / nxr@1.3
Support the FUSE option -ho
It is supposed to print a help message without the usage
line. Although it is deprecated and has been removed as of FUSE 3.0,
filesystems in the wild still use it.
It is supposed to print a help message without the usage
line. Although it is deprecated and has been removed as of FUSE 3.0,
filesystems in the wild still use it.
MAIN commitmail json YAML
src/lib/librefuse/fuse.h@1.32
/
diff
/
nxr@1.32
src/lib/librefuse/fuse_lowlevel.h@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse.c@1.111 / diff / nxr@1.111
src/lib/librefuse/fuse_lowlevel.h@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse.c@1.111 / diff / nxr@1.111
Implement some missing functions that are part of the API
MAIN commitmail json YAML
src/lib/librefuse/Makefile@1.16
/
diff
/
nxr@1.16
src/lib/librefuse/fuse.h@1.31 / diff / nxr@1.31
src/lib/librefuse/refuse.c@1.110 / diff / nxr@1.110
src/lib/librefuse/refuse_compat.c@1.1 / diff / nxr@1.1
src/lib/librefuse/fuse.h@1.31 / diff / nxr@1.31
src/lib/librefuse/refuse.c@1.110 / diff / nxr@1.110
src/lib/librefuse/refuse_compat.c@1.1 / diff / nxr@1.1
Correct the wrong prototype of fuse_daemonize(3) while retaining ABI compatibility
MAIN commitmail json YAML
Cosmetic changes
MAIN commitmail json YAML
src/lib/librefuse/fuse.h@1.29
/
diff
/
nxr@1.29
src/lib/librefuse/fuse_internal.h@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse.c@1.109 / diff / nxr@1.109
src/lib/librefuse/fuse_internal.h@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse.c@1.109 / diff / nxr@1.109
Change the way how FUSE_*_VERSION are handled
* FUSE_MAKE_VERSION(maj, min) now generates a 3-digits number if the
version is higher than 3.9. This is needed to support FUSE 3.10 API.
* FUSE_{MAJOR,MINOR}_VERSION no longer have a fixed value but are
derived from FUSE_USE_VERSION specified by the user code. This is
needed to support more FUSE filesystems in the wild.
* FUSE_MAKE_VERSION(maj, min) now generates a 3-digits number if the
version is higher than 3.9. This is needed to support FUSE 3.10 API.
* FUSE_{MAJOR,MINOR}_VERSION no longer have a fixed value but are
derived from FUSE_USE_VERSION specified by the user code. This is
needed to support more FUSE filesystems in the wild.
MAIN commitmail json YAML
Implement a dummy pathconf() which always returns EINVAL
MAIN commitmail json YAML
Do not call fuse_operations.getattr() before initializing filesystem
MAIN commitmail json YAML
src/lib/librefuse/Makefile@1.15
/
diff
/
nxr@1.15
src/lib/librefuse/TODO@1.7 / diff / nxr@1.7
src/lib/librefuse/refuse.c@1.106 / diff / nxr@1.106
src/lib/librefuse/refuse_opt.c@1.23 / diff / nxr@1.23
src/lib/librefuse/TODO@1.7 / diff / nxr@1.7
src/lib/librefuse/refuse.c@1.106 / diff / nxr@1.106
src/lib/librefuse/refuse_opt.c@1.23 / diff / nxr@1.23
Increase the warning level to spot more mistakes
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2408
/
diff
/
nxr@1.2408
src/lib/librefuse/fuse.h@1.28 / diff / nxr@1.28
src/lib/librefuse/refuse.c@1.105 / diff / nxr@1.105
src/lib/librefuse/refuse/Makefile.inc@1.4 / diff / nxr@1.4
src/lib/librefuse/refuse/legacy.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/legacy.h@1.1 / diff / nxr@1.1
src/lib/librefuse/fuse.h@1.28 / diff / nxr@1.28
src/lib/librefuse/refuse.c@1.105 / diff / nxr@1.105
src/lib/librefuse/refuse/Makefile.inc@1.4 / diff / nxr@1.4
src/lib/librefuse/refuse/legacy.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/legacy.h@1.1 / diff / nxr@1.1
lib/librefuse: Add support for legacy types and functions
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2407
/
diff
/
nxr@1.2407
src/lib/librefuse/TODO@1.6 / diff / nxr@1.6
src/lib/librefuse/fuse.h@1.27 / diff / nxr@1.27
src/lib/librefuse/refuse/Makefile.inc@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse/poll.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/poll.h@1.1 / diff / nxr@1.1
src/lib/librefuse/TODO@1.6 / diff / nxr@1.6
src/lib/librefuse/fuse.h@1.27 / diff / nxr@1.27
src/lib/librefuse/refuse/Makefile.inc@1.3 / diff / nxr@1.3
src/lib/librefuse/refuse/poll.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/poll.h@1.1 / diff / nxr@1.1
lib/librefuse: Add stub functions for FUSE polling API
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2406
/
diff
/
nxr@1.2406
src/lib/librefuse/TODO@1.5 / diff / nxr@1.5
src/lib/librefuse/fuse.h@1.26 / diff / nxr@1.26
src/lib/librefuse/refuse/Makefile.inc@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse/buf.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/buf.h@1.1 / diff / nxr@1.1
src/lib/librefuse/TODO@1.5 / diff / nxr@1.5
src/lib/librefuse/fuse.h@1.26 / diff / nxr@1.26
src/lib/librefuse/refuse/Makefile.inc@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse/buf.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/buf.h@1.1 / diff / nxr@1.1
lib/librefuse: Implement data buffer API appeared on FUSE 2.9
MAIN commitmail json YAML
src/distrib/sets/lists/base/mi@1.1288
/
diff
/
nxr@1.1288
src/distrib/sets/lists/comp/mi@1.2405 / diff / nxr@1.2405
src/etc/mtree/NetBSD.dist.base@1.241 / diff / nxr@1.241
src/lib/librefuse/Makefile@1.14 / diff / nxr@1.14
src/lib/librefuse/fuse.h@1.25 / diff / nxr@1.25
src/lib/librefuse/fuse_internal.h@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse.c@1.104 / diff / nxr@1.104
src/lib/librefuse/refuse/Makefile.inc@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/session.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/session.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse_signals.c@1.1 / diff / nxr@1.1
src/sbin/mount_qemufwcfg/fwcfg.c@1.7 / diff / nxr@1.7
src/distrib/sets/lists/comp/mi@1.2405 / diff / nxr@1.2405
src/etc/mtree/NetBSD.dist.base@1.241 / diff / nxr@1.241
src/lib/librefuse/Makefile@1.14 / diff / nxr@1.14
src/lib/librefuse/fuse.h@1.25 / diff / nxr@1.25
src/lib/librefuse/fuse_internal.h@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse.c@1.104 / diff / nxr@1.104
src/lib/librefuse/refuse/Makefile.inc@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/session.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse/session.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse_signals.c@1.1 / diff / nxr@1.1
src/sbin/mount_qemufwcfg/fwcfg.c@1.7 / diff / nxr@1.7
lib/librefuse: Implement FUSE session API and its signal handling functionality
MAIN commitmail json YAML
src/lib/librefuse/fuse_log.h@1.1
/
diff
/
nxr@1.1
src/lib/librefuse/refuse_log.c@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse_log.c@1.1 / diff / nxr@1.1
lib/librefuse: Implement logging API appeared on FUSE 3.7
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2404
/
diff
/
nxr@1.2404
src/lib/librefuse/Makefile@1.13 / diff / nxr@1.13
src/lib/librefuse/Makefile@1.13 / diff / nxr@1.13
lib/librefuse: Implement logging API appeared on FUSE 3.7
MAIN commitmail json YAML
src/lib/libpuffs/Makefile@1.27
/
diff
/
nxr@1.27
src/lib/libpuffs/puffs.3@1.67 / diff / nxr@1.67
src/lib/libpuffs/puffs.c@1.128 / diff / nxr@1.128
src/lib/libpuffs/puffs_priv.h@1.46 / diff / nxr@1.46
src/lib/libpuffs/puffs.3@1.67 / diff / nxr@1.67
src/lib/libpuffs/puffs.c@1.128 / diff / nxr@1.128
src/lib/libpuffs/puffs_priv.h@1.46 / diff / nxr@1.46
Allow calling puffs_mount(3) before puffs_daemon(3)
puffs_daemon(3) creates a pipe before forking, and the parent process
waits for the child to either complete puffs_mount(3) or fail. If a
user calls puffs_daemon(3) after puffs_mount(3), the function
deadlocks. While this error-reporting functionality is really a nice
thing to have, deadlocking is not great. If the filesystem has already
been mounted, puffs_mount(3) should just daemonize the process and
return.
This became an issue because fuse_daemonize(3) in FUSE API had no such
requirement and some FUSE filesystems in the wild suffered deadlocks.
puffs_daemon(3) creates a pipe before forking, and the parent process
waits for the child to either complete puffs_mount(3) or fail. If a
user calls puffs_daemon(3) after puffs_mount(3), the function
deadlocks. While this error-reporting functionality is really a nice
thing to have, deadlocking is not great. If the filesystem has already
been mounted, puffs_mount(3) should just daemonize the process and
return.
This became an issue because fuse_daemonize(3) in FUSE API had no such
requirement and some FUSE filesystems in the wild suffered deadlocks.
MAIN commitmail json YAML
src/lib/librefuse/Makefile@1.12
/
diff
/
nxr@1.12
src/lib/librefuse/fuse.h@1.24 / diff / nxr@1.24
src/lib/librefuse/fuse_internal.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse.c@1.103 / diff / nxr@1.103
src/lib/librefuse/refuse_lowlevel.c@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse_opt.c@1.22 / diff / nxr@1.22
src/sbin/mount_qemufwcfg/Makefile@1.5 / diff / nxr@1.5
src/sbin/mount_qemufwcfg/fwcfg.c@1.6 / diff / nxr@1.6
src/tests/lib/librefuse/t_refuse_opt.c@1.9 / diff / nxr@1.9
src/usr.sbin/perfused/perfused.h@1.11 / diff / nxr@1.11
src/lib/librefuse/fuse.h@1.24 / diff / nxr@1.24
src/lib/librefuse/fuse_internal.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse.c@1.103 / diff / nxr@1.103
src/lib/librefuse/refuse_lowlevel.c@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse_opt.c@1.22 / diff / nxr@1.22
src/sbin/mount_qemufwcfg/Makefile@1.5 / diff / nxr@1.5
src/sbin/mount_qemufwcfg/fwcfg.c@1.6 / diff / nxr@1.6
src/tests/lib/librefuse/t_refuse_opt.c@1.9 / diff / nxr@1.9
src/usr.sbin/perfused/perfused.h@1.11 / diff / nxr@1.11
librefuse: Preparation of a proper API versioning; no more #ifdef woes in user code
The goal is to fully support FUSE API version 3.0 while maintaining
API/ABI compatibility with code written for 2.6 (or even older).
* <fuse.h> now emits a compiler warning if it's included without
defining FUSE_USE_VERSION. It had been silently defaulted to the
latest supported version prior to this change. This is permissive
compared to the original FUSE, as it emits an error instead.
* <fuse.h> now emits a warning if FUSE_USE_VERSION is higher than what
can be provided.
* Added a macro FUSE_MAKE_VERSION(maj, min). It was missing from
librefuse <fuse.h>.
No actual API updates have been made (yet).
The goal is to fully support FUSE API version 3.0 while maintaining
API/ABI compatibility with code written for 2.6 (or even older).
* <fuse.h> now emits a compiler warning if it's included without
defining FUSE_USE_VERSION. It had been silently defaulted to the
latest supported version prior to this change. This is permissive
compared to the original FUSE, as it emits an error instead.
* <fuse.h> now emits a warning if FUSE_USE_VERSION is higher than what
can be provided.
* Added a macro FUSE_MAKE_VERSION(maj, min). It was missing from
librefuse <fuse.h>.
No actual API updates have been made (yet).
MAIN commitmail json YAML
src/lib/libpuffs/puffs.3@1.66
/
diff
/
nxr@1.66
src/lib/libpuffs/puffs.c@1.127 / diff / nxr@1.127
src/lib/libpuffs/puffs.h@1.130 / diff / nxr@1.130
src/lib/libpuffs/puffs.c@1.127 / diff / nxr@1.127
src/lib/libpuffs/puffs.h@1.130 / diff / nxr@1.130
Use size_t in place of voff_t in puffs_setrootinfo(3)
Chuck Silvers pointed out that voff_t was also supposed to be
kernel-only. The correct type to use in userland would be off_t, but
since changing vsize_t to either voff_t or off_t is an ABI change on
32-bit platforms, we use size_t knowing that it is technically
incorrect.
Chuck Silvers pointed out that voff_t was also supposed to be
kernel-only. The correct type to use in userland would be off_t, but
since changing vsize_t to either voff_t or off_t is an ABI change on
32-bit platforms, we use size_t knowing that it is technically
incorrect.
MAIN commitmail json YAML
src/lib/libpuffs/puffs.3@1.65
/
diff
/
nxr@1.65
src/lib/libpuffs/puffs.c@1.126 / diff / nxr@1.126
src/lib/libpuffs/puffs.h@1.129 / diff / nxr@1.129
src/lib/libpuffs/puffs_ops.3@1.48 / diff / nxr@1.48
src/lib/libpuffs/puffs.c@1.126 / diff / nxr@1.126
src/lib/libpuffs/puffs.h@1.129 / diff / nxr@1.129
src/lib/libpuffs/puffs_ops.3@1.48 / diff / nxr@1.48
Avoid using register_t or vsize_t in <puffs.h>
<puffs.h> is a user-space header, and should not use any of
kernel-only types. It's not reasonable to require user-land
filesystems to #define _KERNTYPES.
<puffs.h> is a user-space header, and should not use any of
kernel-only types. It's not reasonable to require user-land
filesystems to #define _KERNTYPES.
MAIN commitmail json YAML
Avoid using register_t in <fs/puffs/puffs_msgif.h>
The purpose of this header file is to interface between the
kernel-space and user-space, and is #include'd by a user-space header
<puffs.h>. It should therefore not use any of kernel-only types, as
it's not reasonable to require user-land filesystems to #define
_KERNTYPES.
The purpose of this header file is to interface between the
kernel-space and user-space, and is #include'd by a user-space header
<puffs.h>. It should therefore not use any of kernel-only types, as
it's not reasonable to require user-land filesystems to #define
_KERNTYPES.
MAIN commitmail json YAML
src/lib/librefuse/fuse_opt.h@1.9
/
diff
/
nxr@1.9
src/lib/librefuse/refuse_opt.c@1.21 / diff / nxr@1.21
src/lib/librefuse/refuse_opt.c@1.21 / diff / nxr@1.21
Revert my previous change to struct fuse_opt
I should have thought twice before commiting it. Of course changing
the layout of a struct breaks ABI compatibility. Change the offset
back to fixed 32 bits.
I should have thought twice before commiting it. Of course changing
the layout of a struct breaks ABI compatibility. Change the offset
back to fixed 32 bits.
MAIN commitmail json YAML
src/lib/librefuse/fuse_opt.h@1.8
/
diff
/
nxr@1.8
src/lib/librefuse/refuse_opt.c@1.20 / diff / nxr@1.20
src/lib/librefuse/refuse_opt.c@1.20 / diff / nxr@1.20
Use correct types for the fields of struct fuse_opt
This change shouldn't make any behavioral differences in reality, but
compilers these days dislike converting -1U to int32_t implicitly,
which is indeed understandable.
This change shouldn't make any behavioral differences in reality, but
compilers these days dislike converting -1U to int32_t implicitly,
which is indeed understandable.
MAIN commitmail json YAML
Move the call of fuse_operations::init() from fuse_new() to fuse_loop()
Prior to this change we were calling init() before daemonizing the
process. Some filesystems call chdir(2) in init() but fuse_daemonize()
call chdir("/"), which breaks assumptions about the state of the
process.
Prior to this change we were calling init() before daemonizing the
process. Some filesystems call chdir(2) in init() but fuse_daemonize()
call chdir("/"), which breaks assumptions about the state of the
process.
MAIN commitmail json YAML
Make LINUX_FIOCLEX and LINUX_FIONCLEX work
These ioctls were declared in linux_termios.h but were not actually
handled.
These ioctls were declared in linux_termios.h but were not actually
handled.
MAIN commitmail json YAML
src/sbin/mount_puffs/mount_puffs.8@1.2
/
diff
/
nxr@1.2
src/sbin/mount_puffs/mount_puffs.c@1.5 / diff / nxr@1.5
src/sbin/mount_puffs/mount_puffs.c@1.5 / diff / nxr@1.5
Major rework on mount_puffs(8) so that it can actually start file servers
Now you can do
# mount_puffs -o rdonly rot13fs#/home/foo /mnt/rot13
or in fstab
rot13fs#/home/foo /mnt/rot13 puffs rdonly
to start rot13fs with arguments identical to
# rot13fs -o rdonly /home/foo /mnt/rot13
Now you can do
# mount_puffs -o rdonly rot13fs#/home/foo /mnt/rot13
or in fstab
rot13fs#/home/foo /mnt/rot13 puffs rdonly
to start rot13fs with arguments identical to
# rot13fs -o rdonly /home/foo /mnt/rot13
MAIN commitmail json YAML
src/lib/librefuse/fuse.h@1.22
/
diff
/
nxr@1.22
src/lib/librefuse/refuse.3@1.13 / diff / nxr@1.13
src/lib/librefuse/refuse.c@1.98 / diff / nxr@1.98
src/lib/librefuse/refuse.3@1.13 / diff / nxr@1.13
src/lib/librefuse/refuse.c@1.98 / diff / nxr@1.98
fuse_main(3): Support general fuse options via fuse_parse_cmdline(3)
* Prototypes for fuse_new(3), fuse_mount(3), and fuse_unmount(3) now
matches to the original fuse interface.
* Add fuse_daemonize(3): needs to have a different prototype,
otherwise we can't use puffs_daemon(3).
* Remove fuse_setup(3) and fuse_teardown(3). These obsolete functions
has already been removed from the original interface.
* fuse_main(3) now supports the following command-line options
compatible with the original fuse:
-h, --help print help message
-V, --version print library version (currently does nothing)
-d, -o debug enable debug output (PUFFS_FLAG_OPDUMP), implies -f
-f foreground mode
-s single threaded mode (always enabled for now)
-o fsname=NAME explicitly set the name of the file system
* fuse_main(3) now daemonizes the process by default. This is for the
compatibility with the original fuse.
* Prototypes for fuse_new(3), fuse_mount(3), and fuse_unmount(3) now
matches to the original fuse interface.
* Add fuse_daemonize(3): needs to have a different prototype,
otherwise we can't use puffs_daemon(3).
* Remove fuse_setup(3) and fuse_teardown(3). These obsolete functions
has already been removed from the original interface.
* fuse_main(3) now supports the following command-line options
compatible with the original fuse:
-h, --help print help message
-V, --version print library version (currently does nothing)
-d, -o debug enable debug output (PUFFS_FLAG_OPDUMP), implies -f
-f foreground mode
-s single threaded mode (always enabled for now)
-o fsname=NAME explicitly set the name of the file system
* fuse_main(3) now daemonizes the process by default. This is for the
compatibility with the original fuse.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2069
/
diff
/
nxr@1.2069
src/lib/librefuse/Makefile@1.11 / diff / nxr@1.11
src/lib/librefuse/fuse_lowlevel.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse_lowlevel.c@1.1 / diff / nxr@1.1
src/lib/librefuse/Makefile@1.11 / diff / nxr@1.11
src/lib/librefuse/fuse_lowlevel.h@1.1 / diff / nxr@1.1
src/lib/librefuse/refuse_lowlevel.c@1.1 / diff / nxr@1.1
fuse_lowlevel.h: new file, currently only contains fuse_parse_cmdline(3) and struct fuse_cmdline_opts
MAIN commitmail json YAML
Change the way how puffs_fuse_node_create() behaves.
In puffs "create" and "open" are two separate operations with
atomicity achieved by locking the parent vnode. In fuse, on the other
hand, "create" is actually a create-and-open-atomically and the open
flags (O_RDWR, O_APPEND, ...) are passed via fi.flags. So the only way
to emulate the fuse semantics is to open the file with dummy flags and
then immediately close it.
You might think that we could simply use fuse->op.mknod all the time
but no, that's not possible because most file systems nowadays expect
op.mknod to be called only for non-regular files and many don't even
support it.
In puffs "create" and "open" are two separate operations with
atomicity achieved by locking the parent vnode. In fuse, on the other
hand, "create" is actually a create-and-open-atomically and the open
flags (O_RDWR, O_APPEND, ...) are passed via fi.flags. So the only way
to emulate the fuse semantics is to open the file with dummy flags and
then immediately close it.
You might think that we could simply use fuse->op.mknod all the time
but no, that's not possible because most file systems nowadays expect
op.mknod to be called only for non-regular files and many don't even
support it.
MAIN commitmail json YAML
src/lib/librefuse/TODO@1.4
/
diff
/
nxr@1.4
src/lib/librefuse/refuse_opt.c@1.18 / diff / nxr@1.18
src/tests/lib/librefuse/t_refuse_opt.c@1.6 / diff / nxr@1.6
src/lib/librefuse/refuse_opt.c@1.18 / diff / nxr@1.18
src/tests/lib/librefuse/t_refuse_opt.c@1.6 / diff / nxr@1.6
Major rework of fuse_opt_parse(3) so that it supports all the functionality of the original function
MAIN commitmail json YAML
Rename test functions
MAIN commitmail json YAML
src/lib/librefuse/refuse.3@1.12
/
diff
/
nxr@1.12
src/lib/librefuse/refuse_opt.c@1.17 / diff / nxr@1.17
src/lib/librefuse/refuse_opt.c@1.17 / diff / nxr@1.17
fuse_opt_match(3): Support every form of templates, not just the simple strcmp case
Also it should return 1 for successful matches, not the way around.
Also it should return 1 for successful matches, not the way around.
MAIN commitmail json YAML
Add missing macros
MAIN commitmail json YAML
src/lib/librefuse/fuse_opt.h@1.7
/
diff
/
nxr@1.7
src/lib/librefuse/refuse.3@1.10 / diff / nxr@1.10
src/lib/librefuse/refuse_opt.c@1.16 / diff / nxr@1.16
src/tests/lib/librefuse/t_refuse_opt.c@1.2 / diff / nxr@1.2
src/lib/librefuse/refuse.3@1.10 / diff / nxr@1.10
src/lib/librefuse/refuse_opt.c@1.16 / diff / nxr@1.16
src/tests/lib/librefuse/t_refuse_opt.c@1.2 / diff / nxr@1.2
Implement missing fuse_opt_add_opt(3) and fuse_opt_add_opt_escaped(3)
MAIN commitmail json YAML
src/tests/lib/Makefile@1.26
/
diff
/
nxr@1.26
src/tests/lib/librefuse/Makefile@1.1 / diff / nxr@1.1
src/tests/lib/librefuse/t_refuse_opt.c@1.1 / diff / nxr@1.1
src/tests/lib/librefuse/Makefile@1.1 / diff / nxr@1.1
src/tests/lib/librefuse/t_refuse_opt.c@1.1 / diff / nxr@1.1
Add some tests for librefuse
MAIN commitmail json YAML
Add pho@ to NetBSD Developers.