summaryrefslogtreecommitdiffstats
path: root/sys/fs/fuse
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2013-07-24 20:21:29 +0000
committerpfg <pfg@FreeBSD.org>2013-07-24 20:21:29 +0000
commitc92369e15f1e475a476e4ad785d080869d7f4fda (patch)
treebc0564d78e0a8b33d1f9909f366a6ec8b879b2a4 /sys/fs/fuse
parent7f974d1e5e7c2bb7f4ce945d0fc55918134caab7 (diff)
downloadFreeBSD-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/fuse')
-rw-r--r--sys/fs/fuse/fuse_kernel.h96
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_ */
OpenPOWER on IntegriCloud