aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/fuse_i.h
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-09-09 16:10:35 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 17:03:46 -0400
commit413ef8cb302511d8e995e2b0e5517ee1a65b9c77 (patch)
tree59acb15a73fa0dc4393a086fb83f016105d84b2a /fs/fuse/fuse_i.h
parent5a53368277efa2d80dd2206dddc1f4b19ef0c32a (diff)
[PATCH] FUSE - direct I/O
This patch adds support for the "direct_io" mount option of FUSE. When this mount option is specified, the page cache is bypassed for read and write operations. This is useful for example, if the filesystem doesn't know the size of files before reading them, or when any kind of caching is harmful. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r--fs/fuse/fuse_i.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 3ec2aff3fdb5..0af1ac646927 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -34,6 +34,9 @@
34 be flushed on open */ 34 be flushed on open */
35#define FUSE_KERNEL_CACHE (1 << 2) 35#define FUSE_KERNEL_CACHE (1 << 2)
36 36
37/** Bypass the page cache for read and write operations */
38#define FUSE_DIRECT_IO (1 << 3)
39
37/** FUSE inode */ 40/** FUSE inode */
38struct fuse_inode { 41struct fuse_inode {
39 /** Inode data */ 42 /** Inode data */
@@ -207,6 +210,9 @@ struct fuse_conn {
207 /** Maximum read size */ 210 /** Maximum read size */
208 unsigned max_read; 211 unsigned max_read;
209 212
213 /** Maximum write size */
214 unsigned max_write;
215
210 /** Readers of the connection are waiting on this */ 216 /** Readers of the connection are waiting on this */
211 wait_queue_head_t waitq; 217 wait_queue_head_t waitq;
212 218