On 2024-10-15 17:05, Bernd Schubert wrote: > RFCv1 and RFCv2 have been tested with multiple xfstest runs in a VM > (32 cores) with a kernel that has several debug options > enabled (like KASAN and MSAN). RFCv3 is not that well tested yet. > O_DIRECT is currently not working well with /dev/fuse and > also these patches, a patch has been submitted to fix that (although > the approach is refused) > https://www.spinics.net/lists/linux-fsdevel/msg280028.html Hi Bernd, I applied this patch and the associated libfuse patch at: https://github.com/bsbernd/libfuse/tree/aligned-writes I have a simple Python FUSE client that is still returning EINVAL for write(): with open(sys.argv[1], 'r+b') as f: mmapped_file = mmap.mmap(f.fileno(), 0) shm = shared_memory.SharedMemory(create=True, size=mmapped_file.size()) shm.buf[:mmapped_file.size()] = mmapped_file[:] fd = os.open("/home/vmuser/scratch/dest/out", O_RDWR|O_CREAT|O_DIRECT) with open(fd, 'w+b') as f2: f2.write(bytes(shm.buf)) mmapped_file.close() shm.unlink() shm.close() I'll keep looking at this but letting you know in case it's something obvious again.