diff options
author | pfg <pfg@FreeBSD.org> | 2013-07-24 20:21:29 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2013-07-24 20:21:29 +0000 |
commit | c92369e15f1e475a476e4ad785d080869d7f4fda (patch) | |
tree | bc0564d78e0a8b33d1f9909f366a6ec8b879b2a4 /sys/fs | |
parent | 7f974d1e5e7c2bb7f4ce945d0fc55918134caab7 (diff) | |
download | FreeBSD-src-c92369e15f1e475a476e4ad785d080869d7f4fda.zip FreeBSD-src-c92369e15f1e475a476e4ad785d080869d7f4fda.tar.gz |
fuse: revert kernel_header update.
It seems to be causing problems due to the lack of the new features.
Found by: bapt
Pointed hat: pfg
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/fuse/fuse_kernel.h | 96 |
1 files changed, 10 insertions, 86 deletions
diff --git a/sys/fs/fuse/fuse_kernel.h b/sys/fs/fuse/fuse_kernel.h index 8906187..07cd4a9 100644 --- a/sys/fs/fuse/fuse_kernel.h +++ b/sys/fs/fuse/fuse_kernel.h @@ -34,32 +34,14 @@ * $FreeBSD$ */ -/* - * This file defines the kernel interface of FUSE - * - * Protocol changelog: - * - * 7.9: - * - new fuse_getattr_in input argument of GETATTR - * - add lk_flags in fuse_lk_in - * - add lock_owner field to fuse_setattr_in, fuse_read_in and fuse_write_in - * - add blksize field to fuse_attr - * - add file flags field to fuse_read_in and fuse_write_in - * - * 7.10 - * - add nonseekable open flag - */ - -#ifndef _FS_FUSE_FUSE_KERNEL_H_ -#define _FS_FUSE_FUSE_KERNEL_H_ - #ifndef linux #include <sys/types.h> #define __u64 uint64_t #define __u32 uint32_t #define __s32 int32_t #else -#include <linux/types.h> +#include <asm/types.h> +#include <linux/major.h> #endif /** Version number of this interface */ @@ -71,6 +53,12 @@ /** The node ID of the root inode */ #define FUSE_ROOT_ID 1 +/** The major number of the fuse character device */ +#define FUSE_MAJOR MISC_MAJOR + +/** The minor number of the fuse character device */ +#define FUSE_MINOR 229 + /* Make sure all structures are padded to 64bit boundary, so 32bit userspace works under 64bit kernels */ @@ -89,8 +77,6 @@ struct fuse_attr { __u32 uid; __u32 gid; __u32 rdev; - __u32 blksize; - __u32 padding; }; struct fuse_kstatfs { @@ -123,62 +109,27 @@ struct fuse_file_lock { #define FATTR_ATIME (1 << 4) #define FATTR_MTIME (1 << 5) #define FATTR_FH (1 << 6) -#define FATTR_ATIME_NOW (1 << 7) -#define FATTR_MTIME_NOW (1 << 8) -#define FATTR_LOCKOWNER (1 << 9) /** * Flags returned by the OPEN request * * FOPEN_DIRECT_IO: bypass page cache for this open file * FOPEN_KEEP_CACHE: don't invalidate the data cache on open - * FOPEN_NONSEEKABLE: the file is not seekable */ #define FOPEN_DIRECT_IO (1 << 0) #define FOPEN_KEEP_CACHE (1 << 1) -#define FOPEN_NONSEEKABLE (1 << 2) /** * INIT request/reply flags - * - * FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." */ #define FUSE_ASYNC_READ (1 << 0) #define FUSE_POSIX_LOCKS (1 << 1) -#define FUSE_FILE_OPS (1 << 2) -#define FUSE_ATOMIC_O_TRUNC (1 << 3) -#define FUSE_EXPORT_SUPPORT (1 << 4) -#define FUSE_BIG_WRITES (1 << 5) /** * Release flags */ #define FUSE_RELEASE_FLUSH (1 << 0) -/** - * Getattr flags - */ -#define FUSE_GETATTR_FH (1 << 0) - -/** - * Lock flags - */ -#define FUSE_LK_FLOCK (1 << 0) - -/** - * WRITE flags - * - * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed - * FUSE_WRITE_LOCKOWNER: lock_owner field is valid - */ -#define FUSE_WRITE_CACHE (1 << 0) -#define FUSE_WRITE_LOCKOWNER (1 << 1) - -/** - * Read flags - */ -#define FUSE_READ_LOCKOWNER (1 << 1) - enum fuse_opcode { FUSE_LOOKUP = 1, FUSE_FORGET = 2, /* no reply */ @@ -221,8 +172,6 @@ enum fuse_opcode { /* The read buffer is required to be at least 8k, but may be much larger */ #define FUSE_MIN_READ_BUFFER 8192 -#define FUSE_COMPAT_ENTRY_OUT_SIZE 120 - struct fuse_entry_out { __u64 nodeid; /* Inode ID */ __u64 generation; /* Inode generation: nodeid:gen must @@ -238,14 +187,6 @@ struct fuse_forget_in { __u64 nlookup; }; -struct fuse_getattr_in { - __u32 getattr_flags; - __u32 dummy; - __u64 fh; -}; - -#define FUSE_COMPAT_ATTR_OUT_SIZE 96 - struct fuse_attr_out { __u64 attr_valid; /* Cache timeout for the attributes */ __u32 attr_valid_nsec; @@ -253,11 +194,6 @@ struct fuse_attr_out { struct fuse_attr attr; }; -struct fuse_mknod_in { - __u32 mode; - __u32 rdev; -}; - struct fuse_mkdir_in { __u32 mode; __u32 padding; @@ -276,7 +212,7 @@ struct fuse_setattr_in { __u32 padding; __u64 fh; __u64 size; - __u64 lock_owner; + __u64 unused1; __u64 atime; __u64 mtime; __u64 unused2; @@ -319,22 +255,14 @@ struct fuse_read_in { __u64 fh; __u64 offset; __u32 size; - __u32 read_flags; - __u64 lock_owner; - __u32 flags; __u32 padding; }; -#define FUSE_COMPAT_WRITE_IN_SIZE 24 - struct fuse_write_in { __u64 fh; __u64 offset; __u32 size; __u32 write_flags; - __u64 lock_owner; - __u32 flags; - __u32 padding; }; struct fuse_write_out { @@ -373,8 +301,6 @@ struct fuse_lk_in { __u64 fh; __u64 owner; struct fuse_file_lock lk; - __u32 lk_flags; - __u32 padding; }; struct fuse_lk_out { @@ -438,12 +364,10 @@ struct fuse_dirent { __u64 off; __u32 namelen; __u32 type; - char name[]; + char name[0]; }; #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) #define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(__u64) - 1) & ~(sizeof(__u64) - 1)) #define FUSE_DIRENT_SIZE(d) \ FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) - -#endif /* !_FS_FUSE_FUSE_KERNEL_H_ */ |