svn commit: r253619 - head/sys/fs/fuse

Pedro F. Giffuni pfg at FreeBSD.org
Wed Jul 24 20:21:29 UTC 2013


Author: pfg
Date: Wed Jul 24 20:21:29 2013
New Revision: 253619
URL: http://svnweb.freebsd.org/changeset/base/253619

Log:
  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

Modified:
  head/sys/fs/fuse/fuse_kernel.h

Modified: head/sys/fs/fuse/fuse_kernel.h
==============================================================================
--- head/sys/fs/fuse/fuse_kernel.h	Wed Jul 24 18:32:15 2013	(r253618)
+++ head/sys/fs/fuse/fuse_kernel.h	Wed Jul 24 20:21:29 2013	(r253619)
@@ -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_ */


More information about the svn-src-head mailing list