aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fuse_i.h
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-07-02 09:22:50 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-07-02 09:22:50 +0000
commitad051c3e27ca6dd57dad57eb188dbcdcfab775fe (patch)
treebdee0dd43c6d75dcff037de88d3e3679a0ab34f7 /kernel/fuse_i.h
parent65cf7c7deb7a98dc31beb39db3c1ae1cba45b69f (diff)
downloadlibfuse-ad051c3e27ca6dd57dad57eb188dbcdcfab775fe.tar.gz
direct IO + fixes
Diffstat (limited to 'kernel/fuse_i.h')
-rw-r--r--kernel/fuse_i.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h
index f83ac6a..59bc0bc 100644
--- a/kernel/fuse_i.h
+++ b/kernel/fuse_i.h
@@ -62,6 +62,9 @@ permission checking is done in the kernel */
than for small. */
#define FUSE_LARGE_READ (1 << 3)
+/** Bypass the page cache for read and write operations */
+#define FUSE_DIRECT_IO (1 << 4)
+
/** One input argument of a request */
struct fuse_in_arg {
unsigned int size;
@@ -136,7 +139,11 @@ struct fuse_req {
/** Data for asynchronous requests */
union {
- struct fuse_write_in write_in;
+ struct {
+ struct fuse_write_in in;
+ struct fuse_write_out out;
+
+ } write;
struct fuse_open_in open_in;
struct fuse_forget_in forget_in;
} misc;
@@ -162,6 +169,12 @@ struct fuse_conn {
/** The fuse mount flags for this mount */
unsigned int flags;
+ /** Maximum read size */
+ unsigned int max_read;
+
+ /** Maximum write size */
+ unsigned int max_write;
+
/** Readers of the connection are waiting on this */
wait_queue_head_t waitq;