Announcing macFUSE 4.2.1 Posted on 01 Oct 2021
Release Notes
-
Fix race condition that can result in
mkdir(2)returningEINVALwhen creating multiple directories recursively. See osxfuse/osxfuse#832 for details. -
Fix race condition when removing a directory or creating a symlink. See osxfuse/osxfuse#824 for details.
-
Add workaround for an infinite write loop when unmapping a file from memory on Apple Silicon.
On Apple Silicon
munmap(2)might trigger a write, regardless of whether the mapped file was modified or not. This unnecessary write would update the file’s modification time, which in turn might cause security software to scan the file. If such a scanner maps the file to memory, the file’s modification time will get updated again as soon as the scanner callsmunmap(2). This triggers another scan cycle and so on. -
Add workaround for a missing
TARGET_OS_OSXmacro in Xcode 13’ssys/cdefs.hkernel header. -
Improve support for non-latin languages by adding support for returning file names in the Unicode Normalization Form D (NFD) in the
readdircallback.Finder and other macOS system tools expect file names to be in the D form. Using the C form can result in unexpected behavior, e.g. file names not being displayed in Finder under certain conditions. See Unicode Normalization Forms for details.
-
Improve detection of remote file changes and prevent unnecessary writes.
-
Set minimum I/O size value (
iosizemount option) to the platform’s page size. On Apple Silicon the minimum I/O size is 16,384 bytes. On Intel it is 4,096 bytes. Using an I/O size value less than the platform’s page size can cause hangs. -
Perform synchronous writes when unmapping a file from memory. When the last
munmap(2)completes, the file will have been written to the backing storage.



