From patchwork Thu Sep 28 11:02:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 13402483 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC4E6E7F156 for ; Thu, 28 Sep 2023 11:03:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5541B8D009E; Thu, 28 Sep 2023 07:03:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5046E8D0038; Thu, 28 Sep 2023 07:03:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3091D8D009E; Thu, 28 Sep 2023 07:03:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1C9388D0038 for ; Thu, 28 Sep 2023 07:03:21 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E6F27160ED2 for ; Thu, 28 Sep 2023 11:03:20 +0000 (UTC) X-FDA: 81285719760.24.4EB84F1 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf30.hostedemail.com (Postfix) with ESMTP id 1DF948002C for ; Thu, 28 Sep 2023 11:03:18 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ajA8Tqmo; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf30.hostedemail.com: domain of jlayton@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=jlayton@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695898999; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=H6/PGhTnNIMn3orh6NoywiPLKzPAP9n0apXCR75yE60=; b=vU45wquHuZSudpNKSDyofg5VcmlfYzZFc0kDxg2XAMx1Fidgrut6Y1Sxb3j990YpwhKtBy 7wI8D96pLwHxYQmT9416AGLgwTk/gBAqpxXdTgCUZTkEcOrIiUKlOiduN6sAM5OcYegRlE Wtiiuf2Wd4q7yCPfC0of7AMxZPr/yYk= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ajA8Tqmo; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf30.hostedemail.com: domain of jlayton@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=jlayton@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695898999; a=rsa-sha256; cv=none; b=ik9U0Vkg8sZL0JxaRl6Tn9uR8eLyse0e98KoltizvsGC/xpOVMt7CcSyIulbiVzdAMKOn1 VM9ZpEqiaQONwa6j9LMzHhZdURQvbTBIU74nH0CJSMbfJNikbblFezf+rRzGYSgSb8O5UY Wg7mVLIgLMy9M6H1jJCapl1APWkXdZU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 117E3B81BB6; Thu, 28 Sep 2023 11:03:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E6261C433C7; Thu, 28 Sep 2023 11:03:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695898996; bh=P/ji0vPUFbCbMgRaXGuX+mvLtN5yOsTM92SNHS8Fueo=; h=From:To:Cc:Subject:Date:From; b=ajA8TqmoJHDxZZXJB7u7BMot+JbXkx4s2BucffEwH263YJ1rAl5f3kOGlSugrXpmt enCVyE8I76GPL/4IwNc6Xbqia5TJMQJMD0b6VI10w4v7eGGGrt78TCsyNOegv/F9Uj iW/9CtFBkFT2tmshJ5jLV46fOQDVQrsOik9OnfKq3kLgtaU5yGkVbFFKWwj7owPjN5 uKY70w3//pT9DL9Vb4zHyLQxEjU2ccCDoLvTNb0KR95R/azkiP4Qv5k+R06xTjnj5w k30XWG81ek4EZ/ysaVPoNTqidztW9RMKRExEC41IRtMuKvo/5O4MhdApjUIRFWMG+e viZeUgPDfZseg== 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 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 Subject: [PATCH 00/87] fs: new accessor methods for atime and mtime Date: Thu, 28 Sep 2023 07:02:59 -0400 Message-ID: <20230928110300.32891-1-jlayton@kernel.org> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: uxiu7jtxgjk8ii7a51k5s13d84fsc11r X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 1DF948002C X-HE-Tag: 1695898998-688387 X-HE-Meta: U2FsdGVkX19m+ixk2T7am/JfgxlZ388CCna/V2V/g29oeg/aFwTWG3aXpoC6OXdAW4cH+11zdDs5iWNskzt//rZD2QgD7TNu7nyeT1elAjFrHp/yOcaKzk/h9BS8Knlafi/gWI5Rh7Vo+znOcRsEFP2WAfbGj8uARtBiznByOuoBaaUPEaPtMgGvPgnTpczNBUPVP4ivyRbjX+E5XR5L/AoTcGwzhAQo3Q8g8wfS3ii9qMgnzyijlACZCE3tzpB4wmA+p7+35EXJys2S0kj6cJEh4jdpVUvueG2rtv8I+WIoeQP4Rql/XZGee+5hvBcwjVmWFMkiuLvA3QaV0zBxg9PZxm/cnzZdQwXajay1RvbPSgAv/qPun0KpkWd1xkYo8YIIsTeZwAy317tj8TIna+Ks3VhqTJMRNcjjk2BUkTJ8aA6BOkfnMUY/7Mx2w8GLvBxCacsvKgkfObZmTD3KogBw5nUbLZ1t+ZdGYciUuLKQZIyWckXbvbciuxazp7ondvkaSri6FRVHQjOlabmJ73heiuCQ1LM4scfFhUXfLavJbRgKKv981nU6evcJBD8HyxEUdQxLoolVYdJbZt2hOzo0Sky+o4z2u6cVRZXnYWw1ZrzJ3nnQkvm3wCt9W9lAZUM3W5MNyNPm1AptQRqX17w4oNYGhlD7wCkYlOEIVBGVxvdAPufqV1AXO+XKFhmyy+n9u1+E45+d36WVVlFPcHcMOKsOOqZiuy+RnVIq2SWxDiVnOggSToFV61LRwbSS8/1ookRlg5NpQFuVP10RyCoQKdbd527v7CkCqf4c43eAHAXcQsHqZ839BtZynURyTu90Xf7JPlafoXaY2p8eQWQqTY1kkz9ZS3m9IXeVbTJ4HfzcndHwWv+DuJp5UqmNRGbZpg+VPGhDRBjgxblmDB+WnnEy5pzaMorQw1zVz6W2+IKAn9PAUZQVhWUuwX7wyV9k6NfGvBZZHqejtS5 LyK14zSt 3wI2t7iFHLbn8JoTFv7G9eEavUbiYXwVPFi20F4YJph4qNJupOSOl2ICKVJvCtCPdqN4Nrer8V0QpzCHTLGWAJDc9tbHY113p1/qWr+V46yhGmeRGPhD2QOg8GyWe/7NG79RREcnjb9QCrXYZWQQ1Dx4EpMouuSY1SHJZtBDDOGebPGAeFSGU1bzgHuAjcfKI8KF1wFNOksUPw+6oeSulVfSolOUVbO2E7CAtGKHXZqS4t9ItvMDx83VeR+ZUzYHV3GxJamh/pnzmeUbL7vlvN7XceqsvbkMXhP8oal6fm3UlKB3f0SYEKkvxngr2w383Z6gsgJqoUs5nY9OHev18kJvVxY0VSa4HgkOt20oxrvCHKdE4+1pmpFNRymFsbVRD5V87cBTtAqVXjxfBR0NofVHLjU4pukpdH/OGhHQgklw//4v1009u172XT4k1rQKy7tCAU7P7hz9JX4h4+8JZbYaDsJBAD5IW4fEYxDUUhW80iG4KYGp8zEmbo9hU8GI+2h4Jf/FwhHY/5yZRXN3BOpkoIRUUUocDQqZedZOw2Kp8H2KedPKv725FxJ8aaJ1awzjO3Q4c5+/KslYvRkhelDy9xAi0FThgx0c7opz5x7aynlC+h5nen8ELmSBvocAb2mf0h8sn+9Gf1Fzg6lDV1d/YFa9N/84DCcNVI+NPHFjF1ggIRnLENAV8MXlVVLAwwtHAjmbJ3OckN7bie4pvYlLqWW1F7Rf6dJCv6MNUaCoVOEGgtjAWhimMvNlVEl2lTT451pZsFsx0nNvfNCrgFVu+TjxsR6Mngu7VP1MFazuJS02kmD/uxJG1iHc7DWQczJONXtQsfhYUTMsmQtA1+qse5uPoafwsl4Cw1n3etr1vijOQRTAgcI7ycUEqm6fYJPnDWwvFqvHtfdCZYuumAzFRXjds3zgZkp/CxAdEOGyd25KNRfB3vlBSEesZxt/6ltXVFfTTPGXEiMXhwjPFsTjgwEJo WsdXcp/h Fw1QpLbnglyA/pC+lES1YpDYc1PnnIFDqZQdlbFFETVd6LARkYeq+edzcXgLnRSSMInOzGDaHC4J1SY7i8Y53NkP5S69JS43vEuZc0wnb0mRjhH3Y0+X85+yU1TVqaNaTUK85mtQL2hCdTFIK9wRC2UVXDPzr5v+T9vrR7PdpVu/dzkMhqDrjfe49/LQDDXOb8MjVDu8SWpSjzRN9l7K1wSlM+bzckD0FDPCkT8CHz0kJJFfLiXeQDOBk4AC4IiuciICXSeFMIuvHibchFymM2p/FTwb0R+zUx3eTai0nrJ7mRorPlgy6XxD7YoNb/q4EHk0lvUWzdmhvULnAflRLckZBSDa3UbUdvBwvuZni3NuFyIglmPq7ApELpT6weSYPy5/eVB5Xb+0/CVP5U0L2pAfVP2ZxAlWQakb0efJMFLh3aijtg9d0jkY1fNA4zD1B94425gekW2DGoHpb8IR1SJ4KOSYjAmmxzhe8LMHHSy4MO5FC+rt5dgiNQLGA6efNLQHnL4Bm+/AbxptHqKzv3G36eLWmFjWKEhFY2KVgbykR7lOSENzrdxCLxMfyosvmtgVsk/BiDhy9UtlB4FR9URM6J9Jv+RnkAZs6FSimGMQVMDqETCGPUs5X1WHeWlXXw0DU0GwYdUYMfkwXDAMsf7ry2gNJivhPbPONN57O8PClVGGuLWuvVXwjL/eAjemiRVUx2bR0/YLeTY9ODWpsAtSldPF9b6Y6PdjKoqcjTiOp5QAwsiCaGrDnJR+kzm9p9Awmm6HuE8kbleIH9fQdnZ6G7XLXKtjCH+IODk7E82sLTV5+Aq08lyrnAivu8ge4Mm39yiNWw1RScsH6boP8XfQ0VrNKCTyGKpjn2lamoiA4I657S54tOmDy9eZzxkahLKhLqY/53GUfABeye5rUT4WPcOeixz1u6h+mBwiZYwvgSPOn1qbavsT6fNPNphjJXaYripE6aLWxxbhXlfngM/9uMDjy kIbFuaz2 bnRRUCkC98+ROw69n44WwFFGe5O7pZR+miwZ3comwzbbvgxkRYFgHt5fehaVuWUQVxNO1KeiDH6ygkmMfUjaxDtHJf82hGP2Nm4794RpiQfI5DnZ0l7z6cumWsqXb0/vcF7DajYOetMe8ULrQLzN23qICQuwZUHuqMnTHSdrO0BMjDtCfMarxWxE9jLZjygKTpvt+KaEx3EbXku95RcHNqxG+5KXjXjsMu9+l+952iO/YRY2B6xQOSg+R/X/Uq+g+niPUPyc0Q/srW/mJ/5sgvk6T7UwZlZkk2h8N65fOxz7EGPk4Mgs8oZfTKU5s0zlaa3TQeUCXNKyUrAoMM+S8uvJQfpQ/zglkG8tWBzM3gq4PS6yv2jyFTATRCv6OKo0xNNTDlIkj+GRqJb8Q6hbhE00p6qOydJOz3vYDusMFXDBTpZh4XlIL3WJg/2EAY931BgIMGz7xVp1DtNYI6Aj+0AwENa7tx2QJu7fgMRlEKygTgvfXNnGS6o2J2x+HxagAso9cx7AdIanHAETC5s+fKoxNVn0N/plXrQg/CiRS7kqEuQjGKjcIJ9sC2VnpiVzzEmcuxrP5IZoG5qdUHut0d4sf4PfldkzLjX30Sd2Zk3WbGZsK0HxAwAtb3ou825cgku9MqJAIVb+3KCqMIBBZehP02wL6ICij+3+Lo06OjvcWLItWWSHYIcvt3xgqGjTXSUWec6BysEDdrQLcnoP+fYSW93C3A30BER6qozpxoRDnslRRKPncT0/qbL75qr/8XH5Yp3hijIB2Y4QpY7GQW55HAuQb9hvQXkIoOXQ0jd2iaHHYKy/fVWwTM4wUcQSe8KuywQPz+gZsUiKpZxraPWE5wHScErF/C+FEV68zEAASs/rCKPHW7G2T7rGdd1fgOvvE+Y4EWv9CjbQWJG35eYD6657axfK35V7fo19kq4gUVBGBezWusAFm4tHoi8CjE95Pg1PkG0eju06QDxI1ia9zPkUB kcEnvzeo DriqcQEDggt1GYfpckB2jcsA1gHYxe5fqm6L/s5n0vFJSHFG7QmbMIrAru3FdKTSOdiJ0SxAzqxi3kno6jE0wbf9FbCjgJ/iyXcdMBNALp0/NZtalnIOfTg/KJU7dTee4Ox6n2L9jhkBNoTodkzjZqk/vVpotQ3kJu/rAPBHk6WckPZLKZ0IcaNzcgpglhFsxj/EDXU97Mj28Rp61Imd4SWNSymgHkxsxOGBV5adct+s0xle8XtRLRE1/vcC4urwTGizW2l2YVtKXcvU7zPBPJfNP6KAZ3EXL2nQ7er8Qe9A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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 timespec64 in struct inode, and shrink it. 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. The first patches start with some new infrastructure, and then we move to converting different subsystems to use it. 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 bit more, to keep the i_lock in the same cacheline as the fields it protects (at least on x86_64). About 75% of this conversion was done with coccinelle, with the rest done by hand with vim. Jeff Layton (87): fs: new accessor methods for atime and mtime fs: convert core infrastructure to new {a,m}time accessors arch/powerpc/platforms/cell/spufs: convert to new inode {a,m}time accessors arch/s390/hypfs: convert to new inode {a,m}time accessors drivers/android: convert to new inode {a,m}time accessors drivers/char: convert to new inode {a,m}time accessors drivers/infiniband/hw/qib: convert to new inode {a,m}time accessors drivers/misc/ibmasm: convert to new inode {a,m}time accessors drivers/misc: convert to new inode {a,m}time accessors drivers/platform/x86: convert to new inode {a,m}time accessors drivers/tty: convert to new inode {a,m}time accessors drivers/usb/core: convert to new inode {a,m}time accessors drivers/usb/gadget/function: convert to new inode {a,m}time accessors drivers/usb/gadget/legacy: convert to new inode {a,m}time accessors fs/9p: convert to new inode {a,m}time accessors fs/adfs: convert to new inode {a,m}time accessors fs/affs: convert to new inode {a,m}time accessors fs/afs: convert to new inode {a,m}time accessors fs/autofs: convert to new inode {a,m}time accessors fs/befs: convert to new inode {a,m}time accessors fs/bfs: convert to new inode {a,m}time accessors fs/btrfs: convert to new inode {a,m}time accessors fs/ceph: convert to new inode {a,m}time accessors fs/coda: convert to new inode {a,m}time accessors fs/configfs: convert to new inode {a,m}time accessors fs/cramfs: convert to new inode {a,m}time accessors fs/debugfs: convert to new inode {a,m}time accessors fs/devpts: convert to new inode {a,m}time accessors fs/efivarfs: convert to new inode {a,m}time accessors fs/efs: convert to new inode {a,m}time accessors fs/erofs: convert to new inode {a,m}time accessors fs/exfat: convert to new inode {a,m}time accessors fs/ext2: convert to new inode {a,m}time accessors fs/ext4: convert to new inode {a,m}time accessors fs/f2fs: convert to new inode {a,m}time accessors fs/fat: convert to new inode {a,m}time accessors fs/freevxfs: convert to new inode {a,m}time accessors fs/fuse: convert to new inode {a,m}time accessors fs/gfs2: convert to new inode {a,m}time accessors fs/hfs: convert to new inode {a,m}time accessors fs/hfsplus: convert to new inode {a,m}time accessors fs/hostfs: convert to new inode {a,m}time accessors fs/hpfs: convert to new inode {a,m}time accessors fs/hugetlbfs: convert to new inode {a,m}time accessors fs/isofs: convert to new inode {a,m}time accessors fs/jffs2: convert to new inode {a,m}time accessors fs/jfs: convert to new inode {a,m}time accessors fs/kernfs: convert to new inode {a,m}time accessors fs/minix: convert to new inode {a,m}time accessors fs/nfs: convert to new inode {a,m}time accessors fs/nfsd: convert to new inode {a,m}time accessors fs/nilfs2: convert to new inode {a,m}time accessors fs/ntfs: convert to new inode {a,m}time accessors fs/ntfs3: convert to new inode {a,m}time accessors fs/ocfs2: convert to new inode {a,m}time accessors fs/omfs: convert to new inode {a,m}time accessors fs/openpromfs: convert to new inode {a,m}time accessors fs/orangefs: convert to new inode {a,m}time accessors fs/overlayfs: convert to new inode {a,m}time accessors fs/proc: convert to new inode {a,m}time accessors fs/pstore: convert to new inode {a,m}time accessors fs/qnx4: convert to new inode {a,m}time accessors fs/qnx6: convert to new inode {a,m}time accessors fs/ramfs: convert to new inode {a,m}time accessors fs/reiserfs: convert to new inode {a,m}time accessors fs/romfs: convert to new inode {a,m}time accessors fs/smb/client: convert to new inode {a,m}time accessors fs/smb/server: convert to new inode {a,m}time accessors fs/squashfs: convert to new inode {a,m}time accessors fs/sysv: convert to new inode {a,m}time accessors fs/tracefs: convert to new inode {a,m}time accessors fs/ubifs: convert to new inode {a,m}time accessors fs/udf: convert to new inode {a,m}time accessors fs/ufs: convert to new inode {a,m}time accessors fs/vboxsf: convert to new inode {a,m}time accessors fs/xfs: convert to new inode {a,m}time accessors fs/zonefs: convert to new inode {a,m}time accessors ipc: convert to new inode {a,m}time accessors kernel/bpf: convert to new inode {a,m}time accessors mm: convert to new inode {a,m}time accessors net/sunrpc: convert to new inode {a,m}time accessors security/apparmor: convert to new inode {a,m}time accessors security/selinux: convert to new inode {a,m}time accessors security: convert to new inode {a,m}time accessors fs: rename i_atime and i_mtime fields to __i_atime and __i_mtime fs: switch timespec64 fields in inode to discrete integers fs: move i_blocks up a few places in struct inode 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/befs/linuxvfs.c | 10 ++-- fs/bfs/dir.c | 9 +-- fs/bfs/inode.c | 10 ++-- fs/binfmt_misc.c | 2 +- fs/btrfs/delayed-inode.c | 16 +++--- fs/btrfs/file.c | 18 +++--- fs/btrfs/inode.c | 39 ++++++------- fs/btrfs/reflink.c | 2 +- fs/btrfs/transaction.c | 3 +- fs/btrfs/tree-log.c | 8 +-- fs/ceph/addr.c | 10 ++-- fs/ceph/caps.c | 4 +- fs/ceph/file.c | 2 +- fs/ceph/inode.c | 60 +++++++++++--------- 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 | 11 ++-- 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 | 6 +- fs/f2fs/dir.c | 6 +- fs/f2fs/f2fs.h | 10 ++-- fs/f2fs/file.c | 14 ++--- fs/f2fs/inline.c | 2 +- fs/f2fs/inode.c | 20 +++---- 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 | 6 +- fs/fuse/inode.c | 25 ++++----- 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 | 8 +-- 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 | 10 ++-- fs/hpfs/inode.c | 12 ++-- fs/hpfs/namei.c | 20 +++---- 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 | 16 +++--- fs/jfs/jfs_inode.c | 2 +- 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 | 15 +++-- 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/nilfs2/dir.c | 6 +- fs/nilfs2/inode.c | 16 +++--- 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 | 22 +++++--- fs/ntfs3/namei.c | 4 +- fs/ocfs2/alloc.c | 2 +- fs/ocfs2/aops.c | 6 +- fs/ocfs2/dir.c | 5 +- fs/ocfs2/dlmfs/dlmfs.c | 4 +- fs/ocfs2/dlmglue.c | 29 +++++----- fs/ocfs2/file.c | 26 +++++---- fs/ocfs2/inode.c | 24 ++++---- fs/ocfs2/namei.c | 8 +-- fs/ocfs2/refcounttree.c | 4 +- fs/omfs/inode.c | 8 +-- 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 | 22 +++----- 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 | 10 ++-- fs/sysv/itree.c | 2 +- fs/tracefs/inode.c | 2 +- fs/ubifs/debug.c | 8 +-- fs/ubifs/dir.c | 23 +++++--- fs/ubifs/file.c | 16 +++--- fs/ubifs/journal.c | 8 +-- 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 | 36 +++++++----- 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 | 8 +-- fs/xfs/xfs_rtalloc.c | 30 +++++----- fs/zonefs/super.c | 10 ++-- include/linux/fs.h | 68 +++++++++++++++++++++-- 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 +- 211 files changed, 1115 insertions(+), 906 deletions(-)