From mboxrd@z Thu Jan 1 00:00:00 1970 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 EAB7DEB64D9 for ; Thu, 6 Jul 2023 10:27:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5FD668D0002; Thu, 6 Jul 2023 06:27:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 585BB8D0001; Thu, 6 Jul 2023 06:27:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B2038D0002; Thu, 6 Jul 2023 06:27:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 250588D0001 for ; Thu, 6 Jul 2023 06:27:12 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DFCC51205D9 for ; Thu, 6 Jul 2023 10:27:11 +0000 (UTC) X-FDA: 80980809462.02.6450F64 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf10.hostedemail.com (Postfix) with ESMTP id E5BAAC0010 for ; Thu, 6 Jul 2023 10:27:08 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=cwJXVYMx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=NZCT2CDl; dmarc=none; spf=pass (imf10.hostedemail.com: domain of jack@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688639229; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bA8lspzVCI0QkBBZSOZ2NaXyU+WIcRfNoOGE3kPhpJ0=; b=rOUoJ7JmLSDXhdje0zQtNZ0WoX8SHr3u7bgMRqf1XsXwB2dtPQo4uAnAC0YE9ovB7hNp8Z Qvp60jQRK4PYIvxu/cBIQrz0HEfDs+9M8iVZ+mZB2Y1oHKOaWO8Qfoav/4EL19jGWWHloD L/pvy+agOWa4A9fvnK62e6S5B3SdKzI= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=cwJXVYMx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=NZCT2CDl; dmarc=none; spf=pass (imf10.hostedemail.com: domain of jack@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688639229; a=rsa-sha256; cv=none; b=AQmCQKjxkIq/e4hGUn6jGwNauS3uMcDOUKm+MuyVRd10fuQ4tzrUxRh1XdaTO12+wpxyHa hW0itCCox2KsgP/LD/wCspcIflkNagG45QsIUQSnDayirHs5BTpndCnnEpUa5fhyKrJSgl sMvf3k6fWkrtRyTHCeTkOys9cnnPixQ= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id D768F2027F; Thu, 6 Jul 2023 10:27:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1688639226; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bA8lspzVCI0QkBBZSOZ2NaXyU+WIcRfNoOGE3kPhpJ0=; b=cwJXVYMxjabgJAc1WiPXwEoX0OTfi47rAf4OBX1TAQ+OGmO9dcjviKfq9JaMZbP2e77Zft ZFGj4L7K2Mk/xcezt5kjd+qP2pHojrW25RMENmZ0z2yxrjNTco/s31l/aUs5F51DaCvlcK y6kdxWpKryRTZKsAyjQoNnmkqAh2mzg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1688639226; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bA8lspzVCI0QkBBZSOZ2NaXyU+WIcRfNoOGE3kPhpJ0=; b=NZCT2CDl1JUNY6ijIJLjHssrtsmLEPFUK3ppAhWe46d1TfukNG5xi7VbWtXEv0lhKCq/xt xNVG4YexDp28AbCA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 94E18138FC; Thu, 6 Jul 2023 10:27:06 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id EJEiJPqWpmTLdAAAMHmgww (envelope-from ); Thu, 06 Jul 2023 10:27:06 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 1CB0FA0707; Thu, 6 Jul 2023 12:27:06 +0200 (CEST) Date: Thu, 6 Jul 2023 12:27:06 +0200 From: Jan Kara To: Jeff Layton Cc: jk@ozlabs.org, arnd@arndb.de, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, gregkh@linuxfoundation.org, arve@android.com, tkjos@android.com, maco@android.com, joel@joelfernandes.org, brauner@kernel.org, cmllamas@google.com, surenb@google.com, dennis.dalessandro@cornelisnetworks.com, jgg@ziepe.ca, leon@kernel.org, bwarrum@linux.ibm.com, rituagar@linux.ibm.com, ericvh@kernel.org, lucho@ionkov.net, asmadeus@codewreck.org, linux_oss@crudebyte.com, dsterba@suse.com, dhowells@redhat.com, marc.dionne@auristor.com, viro@zeniv.linux.org.uk, raven@themaw.net, luisbg@kernel.org, salah.triki@gmail.com, aivazian.tigran@gmail.com, ebiederm@xmission.com, keescook@chromium.org, clm@fb.com, josef@toxicpanda.com, xiubli@redhat.com, idryomov@gmail.com, jaharkes@cs.cmu.edu, coda@cs.cmu.edu, jlbec@evilplan.org, hch@lst.de, nico@fluxnic.net, rafael@kernel.org, code@tyhicks.com, ardb@kernel.org, xiang@kernel.org, chao@kernel.org, huyue2@coolpad.com, jefflexu@linux.alibaba.com, linkinjeon@kernel.org, sj1557.seo@samsung.com, jack@suse.com, tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, hirofumi@mail.parknet.co.jp, miklos@szeredi.hu, rpeterso@redhat.com, agruenba@redhat.com, richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, mikulas@artax.karlin.mff.cuni.cz, mike.kravetz@oracle.com, muchun.song@linux.dev, dwmw2@infradead.org, shaggy@kernel.org, tj@kernel.org, trond.myklebust@hammerspace.com, anna@kernel.org, chuck.lever@oracle.com, neilb@suse.de, kolga@netapp.com, Dai.Ngo@oracle.com, tom@talpey.com, konishi.ryusuke@gmail.com, anton@tuxera.com, almaz.alexandrovich@paragon-software.com, mark@fasheh.com, joseph.qi@linux.alibaba.com, me@bobcopeland.com, hubcap@omnibond.com, martin@omnibond.com, amir73il@gmail.com, mcgrof@kernel.org, yzaikin@google.com, tony.luck@intel.com, gpiccoli@igalia.com, al@alarsen.net, sfrench@samba.org, pc@manguebit.com, lsahlber@redhat.com, sprasad@microsoft.com, senozhatsky@chromium.org, phillip@squashfs.org.uk, rostedt@goodmis.org, mhiramat@kernel.org, dushistov@mail.ru, hdegoede@redhat.com, djwong@kernel.org, dlemoal@kernel.org, naohiro.aota@wdc.com, jth@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, hughd@google.com, akpm@linux-foundation.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, john.johansen@canonical.com, paul@paul-moore.com, jmorris@namei.org, serge@hallyn.com, stephen.smalley.work@gmail.com, eparis@parisplace.org, jgross@suse.com, stern@rowland.harvard.edu, lrh2000@pku.edu.cn, sebastian.reichel@collabora.com, wsa+renesas@sang-engineering.com, quic_ugoswami@quicinc.com, quic_linyyuan@quicinc.com, john@keeping.me.uk, error27@gmail.com, quic_uaggarwa@quicinc.com, hayama@lineo.co.jp, jomajm@gmail.com, axboe@kernel.dk, dhavale@google.com, dchinner@redhat.com, hannes@cmpxchg.org, zhangpeng362@huawei.com, slava@dubeyko.com, gargaditya08@live.com, penguin-kernel@I-love.SAKURA.ne.jp, yifeliu@cs.stonybrook.edu, madkar@cs.stonybrook.edu, ezk@cs.stonybrook.edu, yuzhe@nfschina.com, willy@infradead.org, okanatov@gmail.com, jeffxu@chromium.org, linux@treblig.org, mirimmad17@gmail.com, yijiangshan@kylinos.cn, yang.yang29@zte.com.cn, xu.xin16@zte.com.cn, chengzhihao1@huawei.com, shr@devkernel.io, Liam.Howlett@Oracle.com, adobriyan@gmail.com, chi.minghao@zte.com.cn, roberto.sassu@huawei.com, linuszeng@tencent.com, bvanassche@acm.org, zohar@linux.ibm.com, yi.zhang@huawei.com, trix@redhat.com, fmdefrancesco@gmail.com, ebiggers@google.com, princekumarmaurya06@gmail.com, chenzhongjin@huawei.com, riel@surriel.com, shaozhengchao@huawei.com, jingyuwang_vip@163.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, linux-rdma@vger.kernel.org, linux-usb@vger.kernel.org, v9fs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-afs@lists.infradead.org, autofs@vger.kernel.org, linux-mm@kvack.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org, linux-efi@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, 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: Re: [PATCH v2 08/92] fs: new helper: simple_rename_timestamp Message-ID: <20230706102706.w7udmbmuwp7hhcry@quack3> References: <20230705185812.579118-1-jlayton@kernel.org> <20230705185812.579118-3-jlayton@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230705185812.579118-3-jlayton@kernel.org> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E5BAAC0010 X-Stat-Signature: 1rfj6rh76sbk9uaqokgdrogf6goaojxh X-HE-Tag: 1688639228-699552 X-HE-Meta: U2FsdGVkX18lIujPXg6Qp2Vawm1kD1+VY2lMssCIzOt8TD30yNsemLsqMOIIVe6WYdlUhER6B+E9X44F30I7FPUdAAJ58r7RNTlBQJnpwYoIK1Vq5JwlaLj65WWpKlRoz0NlW4HzwvY62K0nHtNIMGEzRAA0gZpcvaeW1cG4oX4V3J3TWJrFNXv9z7PH3jkAI38l1nA1HJVtfC8CIB3bLYE4rWgYUqAF3g9HEfyDwYgXILdvoZBKUgEAw/wtE75xz+yCG+6sox6xqdUlOBbz/IucpiNWws8NCzqyrh9hKflqTsXA7oBr9vKHDRFIIsqnn3MezBUK7HYuSBJhcSdojqKJ6AO2rlJQBCK2L51RpD06hSoZ1pJo/KYj1VMa2T81sZTg5Un5KGaXzXAsd76CHppFyqLCmfFXppvBROoMrsHeuNUR1EXbkUhpgzEg582zVYMBsnrsCbXsNdyaao2a5muBc2qzzGT9JCcnZEo/G9GiY0EELOrELirNV1zh6obDti4Ls3iTzjtk65Uts/wcFfWmMWqFuglR/m87hOWEI2lhUQgPqKsaWWnShDWcSgDJhCO9Lohbeifh+KoSXfhAqU2FxStDCmOGQPDi4JLfDqmn/uZiyfWWTYVvRzJ5CPnciJ7cXCYpSSy8nTeXGE9WbH4DFzEkZfLhRVVoxhKLkOlvVOIJ0YMbVBu5Mes9LIKHZTh89Li8gPpiM+jNj3H5cjmcdan7hrsSVhgi21vXk9Hwmv8K8Tmgq67COWMFjrA7CgPn3QllvC5wVaGUbT8r9BHZjd0KQZKsK/pueO8k1scWv+lDQoMNcYdnMnZD6q+1ebt93nWG3ILMx9g3zPCUUPffgOCi8Asww4O5Wo5+3EHDEGCZY+fFqKFGgz1rdc7M/uuPFjwUycqsinD+otICJrf1nT+oO8IrcI7V0r/3AgztTVZlgWGDqzw9safKTrg4TF83bZUZNUvYtWOtXOq 33LG0GnT 6K7zIVgKhf3epQc9KE2JHBwqiVER2+DTdC/MO4gGPb49PUeBMAr9sCl8R/rGZutneqk2YqyEKOXr4CzjgdRTrKMDDFEQlKhQOrw64oTCRuiOxTpufuDoE3YFF+xWg71K+qP86jGdnUHbmBYeumiIOi4q8+w+VvGfxz03n9GIgfCGAsYYyh4Bt63KMnmKbCJqlY1Oko0kTldsP3EJryEBjIkZNnYQEVE3aFzAyz/A77c1KEJAQ3i6qsflE7FQzDDp3UTq4f0pCKYs4NsoRL7Jfb/OuH7n64cHxhn/C3IVikzgCE10A9IadrQHogBR/s/HxzWNRtjywDcHPU8eWRkMFaATyJwSyDea5cnwxxt2pD/UZRpsxA+B2YAqBOZU5781FnLRuNs+XTzlwBlvzUAX/NxSpCl93yWK2s+baAzlobd/IkC2GcTgYFyqh0tI1hfCCDJhxmFdVyp1o5KdZRmixwzz/PSGNNDYLknSoBDWbf5raaMDT8cuQeK8xbSakMbfdEXLvCVjhH87q/bqEoRYMgYzMh2JOpZ9SF77/p2Dlzv0x5y1GZXv2UCrdNWaDIzk7A0pHeeUtvMNndFlBXqPA3jKb3yDlzi4Jjhx/fIi1CtiMclQyf6A38E7xMYU4XuZwMp64iW+ITffiSpqmpmDgru+KpkC2i6fd4+QOwFlpXbWq2mJdmRpBDO58lydZSBSJWobNgUcUGUCQWUv7n8usgdlUM0yCS2e8uKm8Qp0bIXCl1eVQOnAwzZuEctDI23cnV41nk3/WOiD6u5x9CtnmntH3csWJKPRFZN8+5ov5mRkjqw8pQ9W9ULafOciav1L5ekI6n7lu7RPMsyipY8XEQI4iddZk/d8cxT7Oyh45oaYjM6XGvYcTEy5hAympcphfGeZYPbJupctgGT4SUqRkNiqcdKD92dGqpfFgHPcpcrIDfziKUyFq4+JcPe2OBX1y5wQVCaB5XFyPBaZbSoA29R1PWCXL Mo52nXTE SahFkq91I7WH9BrPvYzJzbwrEzVWrXudLRKxcPFSOpGJPDvKoVbtJ05iS8bMlJalbZTQ8LTvtxsR7TfxwG2SBxaiK0B0tg5JE67hdkRe1Uj2xGICfrmlYxlD/6iDYunvg1UkzA6Ub/mROHcpaluyLfjmpvDyszz9WfHVtK+koJPmr2QNhf5bnL+yDKy2+z97md0p3HzEihrvVTKYlO/RMFrjXwoyy8Vwq5+Qg1ceFQ7e6SGo1PT/CxzEMV3T4cU0nElQm35Zi5LEMci43PuWHpnDqIgvrbDocaUwUTeFH9dLhrpxZ+QTUJg4sKYFm+5ySohyrDV4Na1RxJbir8wR+/bfSKDzC0Y2fJQIhGW1c0L85hGEejJxaNXHCjV1dIlssATzl6BY6fQiKWILo3z8OPBkzSHNsWlghrgyJezQnVZZrmvpqFWPpSFwsJmhctoYK0u5ffTWcC7fkR1y1HHYsEVLgzK69gSXHJM5jG789AzH+lD8RwQV2wGuQk8+yIcP9zryn71Zk4RBhaHKh5wv1Idn3v/PQxbbLy0Qwn5Cec+n5TL3SGXqCTfvaT0j69wk75E+7ipn7ZwT4NwDzxxe0GWC4deFa4IAz5jAjwY2l3P+uwsZkdesaI4ykqD/kngUkmfnXbuMJ9VkoS+2jyKVtWGxeMyT3BMBR5Xz/ZU/7SXP7m/pR9STgh49lZq6H6oaZIc+jLmg3+me+6GHSS+hqsPGOGlqjxeqPj79tsO+6YQX2ImatfLSKHVJazdOWJ/oRPYcnlcDvkWg0HKTuqJRJQq6/vg/bQbSdc4qM3FOPS/Ff5933E7SUinh053pWHrcu8kyF4n4AR+QujqmA/wBcCvqx5NX2BCTVPaDNYUMgv8gewT4Ln36fo4cx6cGUshA8gOzXtZcSEioke/BSPHwE5j0WfsODVmili0TKMNOEnkyigEtqYbiQ2GmPn63uLwNcETYoiaOT2nnVmiusrNpbTq7uydWy j/Kj14pG XJW3On+nimZsSP9ifOxKk2V2rzAeGjsS2pifhwcmpxiV0RdzSvIGsPIyqZoO/214OC5/hC3OAZEvJdJzpUB7NpkG7/UTIgTLaC13Mr7K4y0F6KMhRg8QJL99O9R5QsT1uZOekWVVFG+StgXOnX7Dzx7UFoNbyUiSzk/Cs7cuCyfmxNBh9kkKN06VbaDSkcx3tGw9+ha6mD1KgMfh4FU5jZS0sYXulRfUcn6iRlsMNRehO25Qm1pf15n+wfti6XD/Es4S6WDkAZiSD6Dj3v8HUBRWAuE/cf7djbb2T4QMNvLmlO2QR4JziDKtYYlX/PitwAsrt9x6YFhk1+cxLdjfHbY/exuwDxX3lT2toY0MGD6AU4dP1VRmoNdbtVPQ5LbvP+7WY+rad4HnIGrF2cOVmS7SfkdAFPmhxlfda17S1i3C8j1fq7GR0Z4V8XeIXBON0SB1XSwfLJ3y2ccqmKKaZRr0sSRCB0mYgYgdbTtbiF80NMSaWFqIMtm7I/3lIUREF+utCynNZ7bFQ7LWEou4eIh1VVzLIsGPDOv3PV6x7qef4RkJm3C7VjGCJwnzRl71Ql0wQ24tJnEh9LN2pzqtG7W/vku1K34GQsWH4QCY6dy687qkNok+VFfqHJFTKAKF1fErvr8pOskRCs4pj/q30AW6BZP7vT+Orw5QtRUdoqWus9krGtBLF+3b3pURZFKsRI09vMhGghmMxmiPSAJ4IhAImiuUkKGlCkOUGseWJq/sDCIde+t2s+dxotkue5mRMU9mbBiCSX7mPVBabZGcaax/XO2TJc0jnfET4E9Sd9CNTsdia/lbwpA6bcsTcpcld/HwTHgmXnOS4GFr3ero+8UjMgkOd0V6KE2wOWke4pfWCAxWniR9e2JZEptKuG1fqfzIleC85Tg7GV4a1rxH3+TTPbo/WZ6kJ6PuAWrXWJNHAyn+OdMAeCB0URntZbQNsN1yZjMkWnkcU5gY2KctpJwxMP49j AEyEtcwE TZvOMZPA8lbScUOspXtwIHwFFS+d/MePmQMTnSQ74DnyZ4LJ/XWKiKYqD0oQBIbvSBo1dq8/5g2VJpdiqdyCy1ZhRrTEKnOftDPOBoHtFC31ToqMX9cOoRe+xYlqjEv7zwOanPzhJau6caLYEhc11X6cp5+9ZvJRgTU3c3odqJ1fcQeZ+E7aZR7TFCT/f/RVZKopvQvTFq2EqR45u1h3ZQmsF1ZXazOy1H/IXPIc7xOL2Gs982Rc5gVL2rV3bPF7jO8un2jOw8yyHqjLZNZn8oV+hslBRbwjV1+SWTUs+HKSicmFFGoKWGFBNtVkgFV2CHiyA+209PykZ+M8nE8prcLfENaQNv7xgj0fauPR71w1rUvcQffuTjDNnxqL7q5/yi3YKPRvDXLfNQn20lbd/hehWX0SPRHTMKOAXZDXNVKC9DmjYZcufePVH5Qrtf2T4kQNTwEjxgLxA0teo87P5q X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed 05-07-23 14:58:11, Jeff Layton wrote: > A rename potentially involves updating 4 different inode timestamps. Add > a function that handles the details sanely, and convert the libfs.c > callers to use it. > > Signed-off-by: Jeff Layton Looks good to me. Feel free to add: Reviewed-by: Jan Kara Honza > --- > fs/libfs.c | 36 +++++++++++++++++++++++++++--------- > include/linux/fs.h | 2 ++ > 2 files changed, 29 insertions(+), 9 deletions(-) > > diff --git a/fs/libfs.c b/fs/libfs.c > index a7e56baf8bbd..9ee79668c909 100644 > --- a/fs/libfs.c > +++ b/fs/libfs.c > @@ -692,6 +692,31 @@ int simple_rmdir(struct inode *dir, struct dentry *dentry) > } > EXPORT_SYMBOL(simple_rmdir); > > +/** > + * simple_rename_timestamp - update the various inode timestamps for rename > + * @old_dir: old parent directory > + * @old_dentry: dentry that is being renamed > + * @new_dir: new parent directory > + * @new_dentry: target for rename > + * > + * POSIX mandates that the old and new parent directories have their ctime and > + * mtime updated, and that inodes of @old_dentry and @new_dentry (if any), have > + * their ctime updated. > + */ > +void simple_rename_timestamp(struct inode *old_dir, struct dentry *old_dentry, > + struct inode *new_dir, struct dentry *new_dentry) > +{ > + struct inode *newino = d_inode(new_dentry); > + > + old_dir->i_mtime = inode_set_ctime_current(old_dir); > + if (new_dir != old_dir) > + new_dir->i_mtime = inode_set_ctime_current(new_dir); > + inode_set_ctime_current(d_inode(old_dentry)); > + if (newino) > + inode_set_ctime_current(newino); > +} > +EXPORT_SYMBOL_GPL(simple_rename_timestamp); > + > int simple_rename_exchange(struct inode *old_dir, struct dentry *old_dentry, > struct inode *new_dir, struct dentry *new_dentry) > { > @@ -707,11 +732,7 @@ int simple_rename_exchange(struct inode *old_dir, struct dentry *old_dentry, > inc_nlink(old_dir); > } > } > - old_dir->i_ctime = old_dir->i_mtime = > - new_dir->i_ctime = new_dir->i_mtime = > - d_inode(old_dentry)->i_ctime = > - d_inode(new_dentry)->i_ctime = current_time(old_dir); > - > + simple_rename_timestamp(old_dir, old_dentry, new_dir, new_dentry); > return 0; > } > EXPORT_SYMBOL_GPL(simple_rename_exchange); > @@ -720,7 +741,6 @@ int simple_rename(struct mnt_idmap *idmap, struct inode *old_dir, > struct dentry *old_dentry, struct inode *new_dir, > struct dentry *new_dentry, unsigned int flags) > { > - struct inode *inode = d_inode(old_dentry); > int they_are_dirs = d_is_dir(old_dentry); > > if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE)) > @@ -743,9 +763,7 @@ int simple_rename(struct mnt_idmap *idmap, struct inode *old_dir, > inc_nlink(new_dir); > } > > - old_dir->i_ctime = old_dir->i_mtime = new_dir->i_ctime = > - new_dir->i_mtime = inode->i_ctime = current_time(old_dir); > - > + simple_rename_timestamp(old_dir, old_dentry, new_dir, new_dentry); > return 0; > } > EXPORT_SYMBOL(simple_rename); > diff --git a/include/linux/fs.h b/include/linux/fs.h > index bdfbd11a5811..14e38bd900f1 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -2979,6 +2979,8 @@ extern int simple_open(struct inode *inode, struct file *file); > extern int simple_link(struct dentry *, struct inode *, struct dentry *); > extern int simple_unlink(struct inode *, struct dentry *); > extern int simple_rmdir(struct inode *, struct dentry *); > +void simple_rename_timestamp(struct inode *old_dir, struct dentry *old_dentry, > + struct inode *new_dir, struct dentry *new_dentry); > extern int simple_rename_exchange(struct inode *old_dir, struct dentry *old_dentry, > struct inode *new_dir, struct dentry *new_dentry); > extern int simple_rename(struct mnt_idmap *, struct inode *, > -- > 2.41.0 > -- Jan Kara SUSE Labs, CR