As described in PR 192563 --- encfs/encfs.cpp.orig 2014-04-21 15:10:48.592664000 +0000 +++ encfs/encfs.cpp @@ -587,6 +587,19 @@ return res; } +int encfs_create(const char *path, mode_t mode, struct fuse_file_info *file) +{ + int res; + + res = encfs_mknod(path, mode, 0); + if (res) + return res; + + res = encfs_open(path, file); + + return res; +} + int _do_flush(FileNode *fnode, int ) { /* Flush can be called multiple times for an open file, so it doesn't --- encfs/encfs.h.orig 2014-04-21 15:10:48.592664000 +0000 +++ encfs/encfs.h @@ -74,6 +74,7 @@ struct fuse_file_info *fi); int encfs_utime(const char *path, struct utimbuf *buf); int encfs_open(const char *path, struct fuse_file_info *info); +int encfs_create(const char *path, mode_t mode, struct fuse_file_info *info); int encfs_release(const char *path, struct fuse_file_info *info); int encfs_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *info); diff -ur encfs-1.7.4.orig/encfs/main.cpp encfs-1.7.4/encfs/main.cpp --- encfs/main.cpp.orig 2014-04-21 15:10:48.592664000 +0000 +++ encfs/main.cpp @@ -563,7 +563,7 @@ encfs_oper.init = encfs_init; encfs_oper.destroy = encfs_destroy; //encfs_oper.access = encfs_access; - //encfs_oper.create = encfs_create; + encfs_oper.create = encfs_create; encfs_oper.ftruncate = encfs_ftruncate; encfs_oper.fgetattr = encfs_fgetattr; //encfs_oper.lock = encfs_lock;