Hi all, This series fixes even more bugs in fuse2fs. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. Comments and questions are, as always, welcome. e2fsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/e2fsprogs.git/log/?h=fuse2fs-fixes --- Commits in this patchset: * libext2fs: fix unix io manager invalidation * libext2fs: fix livelock in the unix io manager * fuse2fs: clean up error messages * fuse2fs: fix cache size parsing * fuse2fs: compact all the boolean flags in struct fuse2fs * fuse2fs: support XATTR_CREATE/REPLACE in setxattr * fuse2fs: fix error return handling in op_truncate * fuse2fs: flip parameter order in __translate_error * fuse2fs: fix CLI argument parsing leaks * fuse2fs: allow some control over acls * fuse2fs: enable processing of acls in the kernel * fuse2fs: make removexattr work correctly * fuse2fs: implement O_TRUNC correctly * fuse2fs: rearrange check_inum_access parameters a bit * fuse2fs: make filesystem corruption a hard error * fuse2fs: make internal state corruption a hard error * fuse2fs: make bad magic numbers report a corruption error too * fuse2fs: return EPERM for write access to EXT2_IMMUTABLE_FL files * fuse2fs: check the immutable flag in more places * fuse2fs: implement O_APPEND correctly * fuse2fs: decode fuse_main error codes * fuse2fs: fix fallocate zero range * fuse2fs: check for supported xattr name prefixes * fuse2fs: fix return value handling * fuse2fs: fix removing ea inodes when freeing a file * fuse2fs: fix post-EOF preallocation clearing on truncation * fuse2fs: also ignore the nodelalloc mount option * fuse2fs: propagate default ACLs to new children * fuse2fs: fix group membership checking in op_chmod --- lib/ext2fs/ext2fs.h | 1 lib/ext2fs/ext2fsP.h | 3 debian/libext2fs2t64.symbols | 1 lib/ext2fs/ext_attr.c | 19 + lib/ext2fs/unix_io.c | 53 ++- misc/fuse2fs.c | 769 +++++++++++++++++++++++++++++++++++------- 6 files changed, 705 insertions(+), 141 deletions(-)