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
This commit is contained in:
Alan Somers 2019-05-15 22:51:25 +00:00
parent 77fbe6944f
commit 96192dfce0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/fuse2/; revision=347635
2 changed files with 9 additions and 10 deletions

View File

@ -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,14 +287,19 @@ struct fuse_fsync_in {
__u32 padding;
};
struct fuse_listxattr_in {
struct fuse_setxattr_in {
__u32 size;
__u32 flags;
};
struct fuse_listxattr_in {
__u32 size;
__u32 padding;
};
struct fuse_listxattr_out {
__u32 size;
__u32 flags;
__u32 padding;
};
struct fuse_getxattr_in {
@ -307,11 +312,6 @@ struct fuse_getxattr_out {
__u32 padding;
};
struct fuse_setxattr_in {
__u32 size;
__u32 flags;
};
struct fuse_lk_in {
__u64 fh;
__u64 owner;

View File

@ -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);