Fixed "Operation not permitted" error on reading an empty file: FUSE read/write
ops should return a number of bytes actually read/written or -errno on error.
Picked from upstream svn r336.
-Index: fuse/main.c
+Index: fuse-exfat/fuse/main.c
===================================================================
---- fuse/main.c.orig 2013-01-25 22:09:08.293124286 +0100
-+++ fuse/main.c 2013-01-25 22:10:19.745121679 +0100
+--- fuse-exfat.orig/fuse/main.c 2013-01-25 22:26:15.309086812 +0100
++++ fuse-exfat/fuse/main.c 2013-01-25 22:26:20.093086638 +0100
@@ -155,19 +155,25 @@
static int fuse_exfat_read(const char* path, char* buffer, size_t size,
off_t offset, struct fuse_file_info* fi)
}
static int fuse_exfat_unlink(const char* path)
-Index: libexfat/io.c
+Index: fuse-exfat/libexfat/io.c
===================================================================
---- libexfat/io.c.orig 2013-01-25 22:09:08.293124286 +0100
-+++ libexfat/io.c 2013-01-25 22:10:19.745121679 +0100
+--- fuse-exfat.orig/libexfat/io.c 2013-01-25 22:26:15.309086812 +0100
++++ fuse-exfat/libexfat/io.c 2013-01-25 22:26:20.093086638 +0100
@@ -341,7 +341,7 @@
}
if (!ef->ro && !ef->noatime)
EINVAL in this situation. It also happens when trying to change directory name
case.
Picked from upstream svn r337.
-Index: libexfat/node.c
+Index: fuse-exfat/libexfat/node.c
===================================================================
---- libexfat/node.c.orig 2013-01-25 22:09:06.197124362 +0100
-+++ libexfat/node.c 2013-01-25 22:11:41.273118704 +0100
+--- fuse-exfat.orig/libexfat/node.c 2013-01-25 22:12:09.529117673 +0100
++++ fuse-exfat/libexfat/node.c 2013-01-25 22:22:56.473094067 +0100
@@ -905,6 +905,23 @@
exfat_put_node(ef, node);
return rc;
-fix-fuse-read-write-return-r336.patch -p0
-fix-unexpected-removal-on-dir-move-r337.patch -p0
+fix-fuse-read-write-return-r336.patch
+fix-unexpected-removal-on-dir-move-r337.patch