diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2012-07-18 10:09:40 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2012-07-18 10:09:40 -0400 |
commit | 69fe05c90ed58aac956dccb9e6d3a325fb3b8767 (patch) | |
tree | 70dd231ba0ba3b635642f67ea2be103f2ffc237b | |
parent | a8894274a3581125fb311eabfc97cd0123740c5e (diff) |
fuse: add missing INIT flags
Add missing flags that userspace derived from the protocol version number. This
makes the protocol more flexible.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
-rw-r--r-- | fs/fuse/inode.c | 3 | ||||
-rw-r--r-- | include/linux/fuse.h | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index dd4401650b47..ce0a2838ccd0 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
@@ -882,7 +882,8 @@ static void fuse_send_init(struct fuse_conn *fc, struct fuse_req *req) | |||
882 | arg->max_readahead = fc->bdi.ra_pages * PAGE_CACHE_SIZE; | 882 | arg->max_readahead = fc->bdi.ra_pages * PAGE_CACHE_SIZE; |
883 | arg->flags |= FUSE_ASYNC_READ | FUSE_POSIX_LOCKS | FUSE_ATOMIC_O_TRUNC | | 883 | arg->flags |= FUSE_ASYNC_READ | FUSE_POSIX_LOCKS | FUSE_ATOMIC_O_TRUNC | |
884 | FUSE_EXPORT_SUPPORT | FUSE_BIG_WRITES | FUSE_DONT_MASK | | 884 | FUSE_EXPORT_SUPPORT | FUSE_BIG_WRITES | FUSE_DONT_MASK | |
885 | FUSE_FLOCK_LOCKS | FUSE_AUTO_INVAL_DATA; | 885 | FUSE_SPLICE_WRITE | FUSE_SPLICE_MOVE | FUSE_SPLICE_READ | |
886 | FUSE_FLOCK_LOCKS | FUSE_IOCTL_DIR | FUSE_AUTO_INVAL_DATA; | ||
886 | req->in.h.opcode = FUSE_INIT; | 887 | req->in.h.opcode = FUSE_INIT; |
887 | req->in.numargs = 1; | 888 | req->in.numargs = 1; |
888 | req->in.args[0].size = sizeof(*arg); | 889 | req->in.args[0].size = sizeof(*arg); |
diff --git a/include/linux/fuse.h b/include/linux/fuse.h index e4a9d2af9aaa..6455c5b64c2e 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h | |||
@@ -169,7 +169,11 @@ struct fuse_file_lock { | |||
169 | * FUSE_POSIX_LOCKS: remote locking for POSIX file locks | 169 | * FUSE_POSIX_LOCKS: remote locking for POSIX file locks |
170 | * FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." | 170 | * FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." |
171 | * FUSE_DONT_MASK: don't apply umask to file mode on create operations | 171 | * FUSE_DONT_MASK: don't apply umask to file mode on create operations |
172 | * FUSE_SPLICE_WRITE: kernel supports splice write on the device | ||
173 | * FUSE_SPLICE_MOVE: kernel supports splice move on the device | ||
174 | * FUSE_SPLICE_READ: kernel supports splice read on the device | ||
172 | * FUSE_FLOCK_LOCKS: remote locking for BSD style file locks | 175 | * FUSE_FLOCK_LOCKS: remote locking for BSD style file locks |
176 | * FUSE_HAS_IOCTL_DIR: kernel supports ioctl on directories | ||
173 | * FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages | 177 | * FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages |
174 | */ | 178 | */ |
175 | #define FUSE_ASYNC_READ (1 << 0) | 179 | #define FUSE_ASYNC_READ (1 << 0) |
@@ -179,7 +183,11 @@ struct fuse_file_lock { | |||
179 | #define FUSE_EXPORT_SUPPORT (1 << 4) | 183 | #define FUSE_EXPORT_SUPPORT (1 << 4) |
180 | #define FUSE_BIG_WRITES (1 << 5) | 184 | #define FUSE_BIG_WRITES (1 << 5) |
181 | #define FUSE_DONT_MASK (1 << 6) | 185 | #define FUSE_DONT_MASK (1 << 6) |
186 | #define FUSE_SPLICE_WRITE (1 << 7) | ||
187 | #define FUSE_SPLICE_MOVE (1 << 8) | ||
188 | #define FUSE_SPLICE_READ (1 << 9) | ||
182 | #define FUSE_FLOCK_LOCKS (1 << 10) | 189 | #define FUSE_FLOCK_LOCKS (1 << 10) |
190 | #define FUSE_HAS_IOCTL_DIR (1 << 11) | ||
183 | #define FUSE_AUTO_INVAL_DATA (1 << 12) | 191 | #define FUSE_AUTO_INVAL_DATA (1 << 12) |
184 | 192 | ||
185 | /** | 193 | /** |