diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/fuse.h | 5 | ||||
-rw-r--r-- | include/linux/fuse.h | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/fuse.h b/include/fuse.h index 719564e..59e0ed1 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -87,7 +87,9 @@ typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type); * 2) all memory mappings unmapped * This call need only be implemented if this information is required, * otherwise set this function to NULL. - * + * + * - fsync() has a boolean 'datasync' parameter which if TRUE then do + * an fdatasync() operation. */ struct fuse_operations { int (*getattr) (const char *, struct stat *); @@ -109,6 +111,7 @@ struct fuse_operations { int (*write) (const char *, const char *, size_t, off_t); int (*statfs) (struct fuse_statfs *); int (*release) (const char *, int); + int (*fsync) (const char *, int); }; /** Extra context that may be needed by some filesystems */ diff --git a/include/linux/fuse.h b/include/linux/fuse.h index 4be9a28..08ad214 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h @@ -103,7 +103,8 @@ enum fuse_opcode { FUSE_WRITE = 16, FUSE_STATFS = 17, FUSE_RELEASE = 18, /* no reply */ - FUSE_INVALIDATE = 19 /* user initiated */ + FUSE_INVALIDATE = 19, /* user initiated */ + FUSE_FSYNC = 20 }; /* Conservative buffer size for the client */ @@ -176,6 +177,10 @@ struct fuse_statfs_out { struct fuse_kstatfs st; }; +struct fuse_fsync_in { + int datasync; +}; + struct fuse_in_header { int unique; enum fuse_opcode opcode; |