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>