From owner-svn-src-projects@freebsd.org Wed May 15 22:51:26 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A361715A4457 for ; Wed, 15 May 2019 22:51:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 45B2C74AFE; Wed, 15 May 2019 22:51:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 07C21182F2; Wed, 15 May 2019 22:51:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x4FMpPid008866; Wed, 15 May 2019 22:51:25 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x4FMpPnm008864; Wed, 15 May 2019 22:51:25 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201905152251.x4FMpPnm008864@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 15 May 2019 22:51:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r347635 - projects/fuse2/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/sys/fs/fuse X-SVN-Commit-Revision: 347635 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 45B2C74AFE X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_SHORT(-0.98)[-0.976,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 May 2019 22:51:26 -0000 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);