diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2005-09-09 16:10:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 17:03:46 -0400 |
commit | 413ef8cb302511d8e995e2b0e5517ee1a65b9c77 (patch) | |
tree | 59acb15a73fa0dc4393a086fb83f016105d84b2a /fs/fuse/fuse_i.h | |
parent | 5a53368277efa2d80dd2206dddc1f4b19ef0c32a (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.h | 6 |
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 */ |
38 | struct fuse_inode { | 41 | struct 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 | ||