From patchwork Wed Oct 4 18:52:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 1843580 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=J0hjnd58; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=KTQOzUCh; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4S13jy4Lvlz1ypx for ; Thu, 5 Oct 2023 05:53:26 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=xayi0NmFp6z1TWKZDdNVEkiE/dc5saooINqCI3k/avY=; b=J0hjnd58JVPx5S AENMd6Y5Yy6YURlLaJGtomFCzwN3AbiNG9Ytz7gGEa1TMRaQ2/t8aunSuvUtGvKkmkXOJQyBRFDUn SJijup21pVd1ML7LftJsG3wAOV2YG1MYBonnpShI5PNyQHBmW19Uzzy0Bmq5OK9Vt50okk53MP9HK RI9/1ZiMajEMxUPHwEZATek4QBeXHMK4gkwuW1I5w1fbgmFmPJtzF2vCwCAk44z4k+/SbHVgnXWSX iAF6E56OgO6V5YmFWjixiJ5ZbxexDhi4R6A8YebNmpUjdfgB4UrGroNc2iEoTJLYf4j2DcLoP+Az/ kpCM/veWYY1lRtaHkFxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qo6zG-000jZJ-1l; Wed, 04 Oct 2023 18:52:46 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qo6zB-000jWE-0Y; Wed, 04 Oct 2023 18:52:43 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 0FE67B81FB1; Wed, 4 Oct 2023 18:52:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 595D0C433C7; Wed, 4 Oct 2023 18:52:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696445558; bh=AuiZB/7uB4CHbwpVaR4tfn4wAgkza1/YpzIo5Foeud0=; h=From:To:Cc:Subject:Date:From; b=KTQOzUChrpg+Z0EAPGR8AruwPNLutqOD//NSnAvvth8GSx0cF37vTHIa1kn8pBEap CYCEzu+xUbfqSXTKhLzm194LHPOsCHdfPucaxUh3YsdQF5IT/WegZ0Qyl+ewr//1vC /daLD8vdiBRwYo5mdVl8W/u+WDb4Rf/GA3sF1WUVvA+ROKAEqgeFBwt995jfGJkwnd bZ7xQj55eTB5JOGQwUoBKyq27+Mv+G7mtdaULwpl3MC+y+DeTTxEVZJKzoTyB+A2rz cSgj8BMhRVNB+D2FYLBc1jsaSFKjQNTuxo16oRqwigPVjwe86Omd0hkOnhsOF92J53 mF+huBvz7lhAw== From: Jeff Layton To: Alexander Viro , Christian Brauner , Linus Torvalds , David Sterba , Amir Goldstein , Theodore Ts'o , Eric Biederman , Kees Cook , Jeremy Kerr , Arnd Bergmann , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Greg Kroah-Hartman , =?utf-8?q?Arve_Hj=C3=B8nne?= =?utf-8?q?v=C3=A5g?= , Todd Kjos , Martijn Coenen , Joel Fernandes , Carlos Llamas , Suren Baghdasaryan , Mattia Dongili , Dennis Dalessandro , Jason Gunthorpe , Leon Romanovsky , Brad Warrum , Ritu Agarwal , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Mark Gross , Jiri Slaby , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Sterba , David Howells , Marc Dionne , Ian Kent , Luis de Bethencourt , Salah Triki , "Tigran A. Aivazian" , Chris Mason , Josef Bacik , Xiubo Li , Ilya Dryomov , Jan Harkes , coda@cs.cmu.edu, Joel Becker , Christoph Hellwig , Nicolas Pitre , "Rafael J. Wysocki" , Ard Biesheuvel , Gao Xiang , Chao Yu , Yue Hu , Jeffle Xu , Namjae Jeon , Sungjong Seo , Jan Kara , Andreas Dilger , Jaegeuk Kim , OGAWA Hirofumi , Christoph Hellwig , Miklos Szeredi , Bob Peterson , Andreas Gruenbacher , Richard Weinberger , Anton Ivanov , Johannes Berg , Mikulas Patocka , Mike Kravetz , Muchun Song , Jan Kara , David Woodhouse , Dave Kleikamp , Tejun Heo , Trond Myklebust , Anna Schumaker , Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Ryusuke Konishi , Anton Altaparmakov , Konstantin Komarov , Mark Fasheh , Joseph Qi , Bob Copeland , Mike Marshall , Martin Brandenburg , Luis Chamberlain , Iurii Zaikin , Tony Luck , "Guilherme G. Piccoli" , Anders Larsen , Steve French , Paulo Alcantara , Ronnie Sahlberg , Shyam Prasad N , Sergey Senozhatsky , Phillip Lougher , Steven Rostedt , Masami Hiramatsu , Evgeniy Dushistov , Chandan Babu R , "Darrick J. Wong" , Damien Le Moal , Naohiro Aota , Johannes Thumshirn , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Hugh Dickins , Andrew Morton , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , John Johansen , Paul Moore , James Morris , "Serge E. Hallyn" , Stephen Smalley , Eric Paris , Kent Overstreet , Brian Foster Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-rdma@vger.kernel.org, linux-serial@vger.kernel.org, linux-usb@vger.kernel.org, v9fs@lists.linux.dev, linux-afs@lists.infradead.org, autofs@vger.kernel.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, codalist@coda.cs.cmu.edu, linux-efi@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, gfs2@lists.linux.dev, linux-um@lists.infradead.org, linux-mtd@lists.infradead.org, jfs-discussion@lists.sourceforge.net, linux-nfs@vger.kernel.org, linux-nilfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev, linux-karma-devel@lists.sourceforge.net, devel@lists.orangefs.org, linux-unionfs@vger.kernel.org, linux-hardening@vger.kernel.org, reiserfs-devel@vger.kernel.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-trace-kernel@vger.kernel.org, linux-xfs@vger.kernel.org, bpf@vger.kernel.org, netdev@vger.kernel.org, apparmor@lists.ubuntu.com, linux-security-module@vger.kernel.org, selinux@vger.kernel.org, linux-bcachefs@vger.kernel.org Subject: [PATCH v2 00/89] fs: new accessor methods for inode atime and mtime Date: Wed, 4 Oct 2023 14:52:21 -0400 Message-ID: <20231004185221.80802-1-jlayton@kernel.org> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231004_115241_501544_4DB01AD4 X-CRM114-Status: GOOD ( 17.78 ) X-Spam-Score: -2.7 (--) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: v2: - bugfix in mtime handling - incorporate _sec and _nsec accessor functions (Chuck Lever) - move i_generation to plug hole after changing timestamps (Amir Goldstein) While working on the multigrain timestamp changes, Linus suggested adding some similar wrappers for accessing the atime and mtime that we have for the ctime. With that, we could then move to using dis [...] Content analysis details: (-2.7 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [2604:1380:4601:e00:0:0:0:1 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.2 DKIMWL_WL_HIGH DKIMwl.org - High trust sender X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org v2: - bugfix in mtime handling - incorporate _sec and _nsec accessor functions (Chuck Lever) - move i_generation to plug hole after changing timestamps (Amir Goldstein) While working on the multigrain timestamp changes, Linus suggested adding some similar wrappers for accessing the atime and mtime that we have for the ctime. With that, we could then move to using discrete integers instead of struct timespec64 in struct inode and shrink it. This patch implements this. Linus suggested using macros for the new accessors, but the existing ctime wrappers were static inlines and since there are only 3 different timestamps, I didn't see that trying to fiddle with macros would gain us anything (other than less verbosity in fs.h). The second to last patch makes the conversion to discrete integers, which shaves 8 bytes off of struct inode on my x86_64 kernel. The last patch reshuffles things a little to keep the i_lock in the same cacheline as the fields it protects. About 75% of this conversion was done with coccinelle, with the rest done by hand. I think we probably ought to try to get everything but the last two patches into v6.7 (though we could consider those too if we're feeling lucky). Jeff Layton (89): fs: new accessor methods for atime and mtime fs: convert core infrastructure to new timestamp accessors spufs: convert to new timestamp accessors hypfs: convert to new timestamp accessors android: convert to new timestamp accessors char: convert to new timestamp accessors qib: convert to new timestamp accessors ibmasm: convert to new timestamp accessors misc: convert to new timestamp accessors x86: convert to new timestamp accessors tty: convert to new timestamp accessors function: convert to new timestamp accessors legacy: convert to new timestamp accessors usb: convert to new timestamp accessors 9p: convert to new timestamp accessors adfs: convert to new timestamp accessors affs: convert to new timestamp accessors afs: convert to new timestamp accessors autofs: convert to new timestamp accessors bcachefs: convert to new timestamp accessors befs: convert to new timestamp accessors bfs: convert to new timestamp accessors btrfs: convert to new timestamp accessors ceph: convert to new timestamp accessors coda: convert to new timestamp accessors configfs: convert to new timestamp accessors cramfs: convert to new timestamp accessors debugfs: convert to new timestamp accessors devpts: convert to new timestamp accessors efivarfs: convert to new timestamp accessors efs: convert to new timestamp accessors erofs: convert to new timestamp accessors exfat: convert to new timestamp accessors ext2: convert to new timestamp accessors ext4: convert to new timestamp accessors f2fs: convert to new timestamp accessors fat: convert to new timestamp accessors freevxfs: convert to new timestamp accessors fuse: convert to new timestamp accessors gfs2: convert to new timestamp accessors hfs: convert to new timestamp accessors hfsplus: convert to new timestamp accessors hostfs: convert to new timestamp accessors hpfs: convert to new timestamp accessors hugetlbfs: convert to new timestamp accessors isofs: convert to new timestamp accessors jffs2: convert to new timestamp accessors jfs: convert to new timestamp accessors kernfs: convert to new timestamp accessors minix: convert to new timestamp accessors nfs: convert to new timestamp accessors nfsd: convert to new timestamp accessors nilfs2: convert to new timestamp accessors ntfs: convert to new timestamp accessors ntfs3: convert to new timestamp accessors ocfs2: convert to new timestamp accessors omfs: convert to new timestamp accessors openpromfs: convert to new timestamp accessors orangefs: convert to new timestamp accessors overlayfs: convert to new timestamp accessors proc: convert to new timestamp accessors pstore: convert to new timestamp accessors qnx4: convert to new timestamp accessors qnx6: convert to new timestamp accessors ramfs: convert to new timestamp accessors reiserfs: convert to new timestamp accessors romfs: convert to new timestamp accessors client: convert to new timestamp accessors server: convert to new timestamp accessors squashfs: convert to new timestamp accessors sysv: convert to new timestamp accessors tracefs: convert to new timestamp accessors ubifs: convert to new timestamp accessors udf: convert to new timestamp accessors ufs: convert to new timestamp accessors vboxsf: convert to new timestamp accessors xfs: convert to new timestamp accessors zonefs: convert to new timestamp accessors linux: convert to new timestamp accessors ipc: convert to new timestamp accessors bpf: convert to new timestamp accessors mm: convert to new timestamp accessors sunrpc: convert to new timestamp accessors apparmor: convert to new timestamp accessors selinux: convert to new timestamp accessors security: convert to new timestamp accessors fs: rename inode i_atime and i_mtime fields fs: switch timespec64 fields in inode to discrete integers fs: move i_generation into new hole created after timestamp conversion arch/powerpc/platforms/cell/spufs/inode.c | 2 +- arch/s390/hypfs/inode.c | 4 +- drivers/android/binderfs.c | 8 +- drivers/char/sonypi.c | 2 +- drivers/infiniband/hw/qib/qib_fs.c | 4 +- drivers/misc/ibmasm/ibmasmfs.c | 2 +- drivers/misc/ibmvmc.c | 2 +- drivers/platform/x86/sony-laptop.c | 2 +- drivers/tty/tty_io.c | 10 +- drivers/usb/core/devio.c | 26 +++-- drivers/usb/gadget/function/f_fs.c | 4 +- drivers/usb/gadget/legacy/inode.c | 2 +- fs/9p/vfs_inode.c | 6 +- fs/9p/vfs_inode_dotl.c | 16 +-- fs/adfs/inode.c | 13 ++- fs/affs/amigaffs.c | 4 +- fs/affs/inode.c | 17 ++- fs/afs/dynroot.c | 2 +- fs/afs/inode.c | 8 +- fs/afs/write.c | 2 +- fs/attr.c | 4 +- fs/autofs/inode.c | 2 +- fs/autofs/root.c | 6 +- fs/bad_inode.c | 2 +- fs/bcachefs/fs.c | 12 +-- fs/befs/linuxvfs.c | 10 +- fs/bfs/dir.c | 9 +- fs/bfs/inode.c | 12 +-- fs/binfmt_misc.c | 2 +- fs/btrfs/delayed-inode.c | 20 ++-- fs/btrfs/file.c | 18 ++-- fs/btrfs/inode.c | 43 ++++---- fs/btrfs/reflink.c | 2 +- fs/btrfs/transaction.c | 3 +- fs/btrfs/tree-log.c | 12 +-- fs/ceph/addr.c | 10 +- fs/ceph/caps.c | 4 +- fs/ceph/file.c | 2 +- fs/ceph/inode.c | 64 ++++++------ fs/ceph/mds_client.c | 8 +- fs/ceph/snap.c | 4 +- fs/coda/coda_linux.c | 6 +- fs/coda/dir.c | 2 +- fs/coda/file.c | 2 +- fs/configfs/inode.c | 8 +- fs/cramfs/inode.c | 4 +- fs/debugfs/inode.c | 2 +- fs/devpts/inode.c | 6 +- fs/efivarfs/file.c | 2 +- fs/efivarfs/inode.c | 2 +- fs/efs/inode.c | 5 +- fs/erofs/inode.c | 3 +- fs/exfat/exfat_fs.h | 1 + fs/exfat/file.c | 7 +- fs/exfat/inode.c | 31 +++--- fs/exfat/misc.c | 8 ++ fs/exfat/namei.c | 31 +++--- fs/exfat/super.c | 4 +- fs/ext2/dir.c | 6 +- fs/ext2/ialloc.c | 2 +- fs/ext2/inode.c | 13 ++- fs/ext2/super.c | 2 +- fs/ext4/ext4.h | 20 +++- fs/ext4/extents.c | 11 +- fs/ext4/ialloc.c | 4 +- fs/ext4/inline.c | 4 +- fs/ext4/inode.c | 19 ++-- fs/ext4/ioctl.c | 13 ++- fs/ext4/namei.c | 10 +- fs/ext4/super.c | 2 +- fs/ext4/xattr.c | 8 +- fs/f2fs/dir.c | 6 +- fs/f2fs/f2fs.h | 10 +- fs/f2fs/file.c | 14 +-- fs/f2fs/inline.c | 2 +- fs/f2fs/inode.c | 24 ++--- fs/f2fs/namei.c | 4 +- fs/f2fs/recovery.c | 8 +- fs/f2fs/super.c | 2 +- fs/fat/inode.c | 25 +++-- fs/fat/misc.c | 6 +- fs/freevxfs/vxfs_inode.c | 6 +- fs/fuse/control.c | 2 +- fs/fuse/dir.c | 10 +- fs/fuse/inode.c | 29 +++--- fs/fuse/readdir.c | 6 +- fs/gfs2/bmap.c | 10 +- fs/gfs2/dir.c | 10 +- fs/gfs2/glops.c | 11 +- fs/gfs2/inode.c | 7 +- fs/gfs2/quota.c | 2 +- fs/gfs2/super.c | 12 +-- fs/hfs/catalog.c | 8 +- fs/hfs/inode.c | 16 +-- fs/hfs/sysdep.c | 10 +- fs/hfsplus/catalog.c | 8 +- fs/hfsplus/inode.c | 22 ++-- fs/hostfs/hostfs_kern.c | 12 ++- fs/hpfs/dir.c | 12 ++- fs/hpfs/inode.c | 16 +-- fs/hpfs/namei.c | 22 ++-- fs/hpfs/super.c | 10 +- fs/hugetlbfs/inode.c | 10 +- fs/inode.c | 35 ++++--- fs/isofs/inode.c | 4 +- fs/isofs/rock.c | 18 ++-- fs/jffs2/dir.c | 35 ++++--- fs/jffs2/file.c | 4 +- fs/jffs2/fs.c | 20 ++-- fs/jffs2/os-linux.h | 4 +- fs/jfs/inode.c | 2 +- fs/jfs/jfs_imap.c | 20 ++-- fs/jfs/jfs_inode.c | 4 +- fs/jfs/namei.c | 20 ++-- fs/jfs/super.c | 2 +- fs/kernfs/inode.c | 6 +- fs/libfs.c | 41 ++++++-- fs/minix/bitmap.c | 2 +- fs/minix/dir.c | 6 +- fs/minix/inode.c | 17 ++- fs/minix/itree_common.c | 2 +- fs/nfs/callback_proc.c | 2 +- fs/nfs/fscache.h | 4 +- fs/nfs/inode.c | 30 +++--- fs/nfsd/blocklayout.c | 3 +- fs/nfsd/nfs3proc.c | 4 +- fs/nfsd/nfs4proc.c | 8 +- fs/nfsd/nfsctl.c | 2 +- fs/nfsd/vfs.c | 2 +- fs/nilfs2/dir.c | 6 +- fs/nilfs2/inode.c | 20 ++-- fs/nsfs.c | 2 +- fs/ntfs/inode.c | 25 ++--- fs/ntfs/mft.c | 2 +- fs/ntfs3/file.c | 6 +- fs/ntfs3/frecord.c | 11 +- fs/ntfs3/inode.c | 25 +++-- fs/ntfs3/namei.c | 4 +- fs/ocfs2/acl.c | 4 +- fs/ocfs2/alloc.c | 6 +- fs/ocfs2/aops.c | 6 +- fs/ocfs2/dir.c | 9 +- fs/ocfs2/dlmfs/dlmfs.c | 4 +- fs/ocfs2/dlmglue.c | 29 +++--- fs/ocfs2/file.c | 30 +++--- fs/ocfs2/inode.c | 28 ++--- fs/ocfs2/move_extents.c | 4 +- fs/ocfs2/namei.c | 16 +-- fs/ocfs2/refcounttree.c | 12 +-- fs/ocfs2/xattr.c | 4 +- fs/omfs/inode.c | 12 +-- fs/openpromfs/inode.c | 4 +- fs/orangefs/orangefs-utils.c | 16 +-- fs/overlayfs/file.c | 9 +- fs/overlayfs/inode.c | 3 +- fs/overlayfs/util.c | 4 +- fs/pipe.c | 2 +- fs/proc/base.c | 2 +- fs/proc/inode.c | 2 +- fs/proc/proc_sysctl.c | 2 +- fs/proc/self.c | 2 +- fs/proc/thread_self.c | 2 +- fs/pstore/inode.c | 5 +- fs/qnx4/inode.c | 6 +- fs/qnx6/inode.c | 6 +- fs/ramfs/inode.c | 7 +- fs/reiserfs/inode.c | 26 ++--- fs/reiserfs/namei.c | 8 +- fs/reiserfs/stree.c | 5 +- fs/reiserfs/super.c | 2 +- fs/romfs/super.c | 3 +- fs/smb/client/file.c | 18 ++-- fs/smb/client/fscache.h | 6 +- fs/smb/client/inode.c | 17 ++- fs/smb/client/smb2ops.c | 6 +- fs/smb/server/smb2pdu.c | 8 +- fs/squashfs/inode.c | 6 +- fs/stack.c | 4 +- fs/stat.c | 4 +- fs/sysv/dir.c | 6 +- fs/sysv/ialloc.c | 2 +- fs/sysv/inode.c | 12 +-- fs/sysv/itree.c | 2 +- fs/tracefs/inode.c | 2 +- fs/ubifs/debug.c | 12 +-- fs/ubifs/dir.c | 23 +++-- fs/ubifs/file.c | 16 +-- fs/ubifs/journal.c | 12 +-- fs/ubifs/super.c | 8 +- fs/udf/ialloc.c | 4 +- fs/udf/inode.c | 38 ++++--- fs/udf/namei.c | 16 +-- fs/ufs/dir.c | 6 +- fs/ufs/ialloc.c | 2 +- fs/ufs/inode.c | 42 ++++---- fs/vboxsf/utils.c | 15 +-- fs/xfs/libxfs/xfs_inode_buf.c | 10 +- fs/xfs/libxfs/xfs_rtbitmap.c | 6 +- fs/xfs/libxfs/xfs_trans_inode.c | 2 +- fs/xfs/xfs_bmap_util.c | 7 +- fs/xfs/xfs_inode.c | 4 +- fs/xfs/xfs_inode_item.c | 4 +- fs/xfs/xfs_iops.c | 8 +- fs/xfs/xfs_itable.c | 12 +-- fs/xfs/xfs_rtalloc.c | 30 +++--- fs/zonefs/super.c | 10 +- include/linux/fs.h | 120 +++++++++++++++++----- include/linux/fs_stack.h | 6 +- ipc/mqueue.c | 19 ++-- kernel/bpf/inode.c | 5 +- mm/shmem.c | 20 ++-- net/sunrpc/rpc_pipe.c | 2 +- security/apparmor/apparmorfs.c | 7 +- security/apparmor/policy_unpack.c | 4 +- security/inode.c | 2 +- security/selinux/selinuxfs.c | 2 +- 216 files changed, 1220 insertions(+), 1000 deletions(-)