Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 May 2019 22:51:25 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r347635 - projects/fuse2/sys/fs/fuse
Message-ID:  <201905152251.x4FMpPnm008864@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Wed May 15 22:51:25 2019
New Revision: 347635
URL: https://svnweb.freebsd.org/changeset/base/347635

Log:
  fusefs: diff reduction vs the upstream sources
  
  fuse_kernel.h defines the structures used by the FUSE protocol.  Originally
  it came from libfuse, but the current source of truth is the Linux kernel.
  This commit minimizes the diffs between our version and the Linux version as
  of 21f3da95d (protocol version 7.8).
  
  The flags field of struct fuse_listxattr_out and fuse_listxattr_in was an
  error in our header.  Those fields don't exist in Linux or libfuse, and
  they've never been used in FreeBSD.  In fact, those structs don't even exist
  in Linux and libfuse; those projects confusingly overload the identical
  fuse_getexattr_in and fuse_getxattr_out structs.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/fuse2/sys/fs/fuse/fuse_kernel.h
  projects/fuse2/sys/fs/fuse/fuse_vnops.c

Modified: projects/fuse2/sys/fs/fuse/fuse_kernel.h
==============================================================================
--- projects/fuse2/sys/fs/fuse/fuse_kernel.h	Wed May 15 21:52:43 2019	(r347634)
+++ projects/fuse2/sys/fs/fuse/fuse_kernel.h	Wed May 15 22:51:25 2019	(r347635)
@@ -195,8 +195,8 @@ struct fuse_attr_out {
 };
 
 struct fuse_mknod_in {
-       __u32   mode;
-       __u32   rdev;
+	__u32	mode;
+	__u32	rdev;
 };
 
 struct fuse_mkdir_in {
@@ -287,29 +287,29 @@ struct fuse_fsync_in {
 	__u32	padding;
 };
 
-struct fuse_listxattr_in {
+struct fuse_setxattr_in {
 	__u32	size;
 	__u32	flags;
 };
 
-struct fuse_listxattr_out {
+struct fuse_listxattr_in {
 	__u32	size;
-	__u32	flags;
+	__u32	padding;
 };
 
-struct fuse_getxattr_in {
+struct fuse_listxattr_out {
 	__u32	size;
 	__u32	padding;
 };
 
-struct fuse_getxattr_out {
+struct fuse_getxattr_in {
 	__u32	size;
 	__u32	padding;
 };
 
-struct fuse_setxattr_in {
+struct fuse_getxattr_out {
 	__u32	size;
-	__u32	flags;
+	__u32	padding;
 };
 
 struct fuse_lk_in {

Modified: projects/fuse2/sys/fs/fuse/fuse_vnops.c
==============================================================================
--- projects/fuse2/sys/fs/fuse/fuse_vnops.c	Wed May 15 21:52:43 2019	(r347634)
+++ projects/fuse2/sys/fs/fuse/fuse_vnops.c	Wed May 15 22:51:25 2019	(r347635)
@@ -2335,7 +2335,6 @@ fuse_vnop_listextattr(struct vop_listextattr_args *ap)
 	fdisp_refresh_vp(&fdi, FUSE_LISTXATTR, vp, td, cred);
 	list_xattr_in = fdi.indata;
 	list_xattr_in->size = linux_list_len + sizeof(*list_xattr_out);
-	list_xattr_in->flags = 0;
 	attr_str = (char *)fdi.indata + sizeof(*list_xattr_in);
 	snprintf(attr_str, len, "%s%c", prefix, extattr_namespace_separator);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905152251.x4FMpPnm008864>