[PATCH] FUSE: add fsync operation for directories
This patch adds a new FSYNCDIR request, which is sent when fsync is called
on directories. This operation is available in libfuse 2.3-pre1 or
greater.
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 8484960..d764728 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -248,6 +248,9 @@
/** Is fsync not implemented by fs? */
unsigned no_fsync : 1;
+ /** Is fsyncdir not implemented by fs? */
+ unsigned no_fsyncdir : 1;
+
/** Is flush not implemented by fs? */
unsigned no_flush : 1;
@@ -340,6 +343,12 @@
int fuse_release_common(struct inode *inode, struct file *file, int isdir);
/**
+ * Send FSYNC or FSYNCDIR request
+ */
+int fuse_fsync_common(struct file *file, struct dentry *de, int datasync,
+ int isdir);
+
+/**
* Initialise file operations on a regular file
*/
void fuse_init_file_inode(struct inode *inode);