svn commit: r347635 - projects/fuse2/sys/fs/fuse
Alan Somers
asomers at FreeBSD.org
Wed May 15 22:51:26 UTC 2019
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);
More information about the svn-src-projects
mailing list