aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fuse_i.h
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-07-24 19:56:16 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-07-24 19:56:16 +0000
commit209f5d053bae91fe404a0d08aaf5bb0be1d614f0 (patch)
tree79d20999e8e392c5231894d52d69a0ead679a421 /kernel/fuse_i.h
parentd66d3947d5d4fdda0bdde3f5299553673d4ee64e (diff)
downloadlibfuse-209f5d053bae91fe404a0d08aaf5bb0be1d614f0.tar.gz
security fixes + other enhancements
Diffstat (limited to 'kernel/fuse_i.h')
-rw-r--r--kernel/fuse_i.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h
index 2b165e9..c121148 100644
--- a/kernel/fuse_i.h
+++ b/kernel/fuse_i.h
@@ -58,20 +58,32 @@ permission checking is done in the kernel */
until the INVALIDATE operation is invoked */
#define FUSE_KERNEL_CACHE (1 << 2)
+#ifndef KERNEL_2_6
/** Allow FUSE to combine reads into 64k chunks. This is useful if
the filesystem is better at handling large chunks. NOTE: in
current implementation the raw throughput is worse for large reads
than for small. */
-#define FUSE_LARGE_READ (1 << 3)
+#define FUSE_LARGE_READ (1 << 31)
+#endif
/** Bypass the page cache for read and write operations */
-#define FUSE_DIRECT_IO (1 << 4)
+#define FUSE_DIRECT_IO (1 << 3)
/** FUSE specific inode data */
struct fuse_inode {
struct fuse_req *forget_req;
struct rw_semaphore write_sem;
unsigned long i_time;
+ /* Files which can provide file handles in writepage.
+ Protected by write_sem */
+ struct list_head write_files;
+};
+
+/** FUSE specific file data */
+struct fuse_file {
+ struct fuse_req *release_req;
+ unsigned int fh;
+ struct list_head ff_list;
};
/** One input argument of a request */
@@ -158,7 +170,7 @@ struct fuse_req {
} write;
struct fuse_read_in read_in;
- struct fuse_open_in open_in;
+ struct fuse_release_in release_in;
struct fuse_forget_in forget_in;
} misc;