From: Sasha Levin Date: Mon, 4 Dec 2023 19:51:02 +0000 (-0500) Subject: Drop fs-add-ctime-accessors-infrastructure.patch-279 X-Git-Tag: v4.14.332~23^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0513a2ff43b57e0cfb90e639c3b8826d5632a180;p=thirdparty%2Fkernel%2Fstable-queue.git Drop fs-add-ctime-accessors-infrastructure.patch-279 Signed-off-by: Sasha Levin --- diff --git a/queue-5.15/fs-add-ctime-accessors-infrastructure.patch-279 b/queue-5.15/fs-add-ctime-accessors-infrastructure.patch-279 deleted file mode 100644 index 7ad26b5acad..00000000000 --- a/queue-5.15/fs-add-ctime-accessors-infrastructure.patch-279 +++ /dev/null @@ -1,116 +0,0 @@ -From 102f8eb622ca6d1bf0ac754a29fcf4c9540f2aa4 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 5 Jul 2023 14:58:10 -0400 -Subject: fs: add ctime accessors infrastructure - -From: Jeff Layton - -[ Upstream commit 9b6304c1d53745c300b86f202d0dcff395e2d2db ] - -struct timespec64 has unused bits in the tv_nsec field that can be used -for other purposes. In future patches, we're going to change how the -inode->i_ctime is accessed in certain inodes in order to make use of -them. In order to do that safely though, we'll need to eradicate raw -accesses of the inode->i_ctime field from the kernel. - -Add new accessor functions for the ctime that we use to replace them. - -Reviewed-by: Jan Kara -Reviewed-by: Luis Chamberlain -Signed-off-by: Jeff Layton -Reviewed-by: Damien Le Moal -Message-Id: <20230705185812.579118-2-jlayton@kernel.org> -Signed-off-by: Christian Brauner -Stable-dep-of: 5923d6686a10 ("smb3: fix caching of ctime on setxattr") -Signed-off-by: Sasha Levin ---- - fs/inode.c | 16 ++++++++++++++++ - include/linux/fs.h | 45 ++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 60 insertions(+), 1 deletion(-) - -diff --git a/fs/inode.c b/fs/inode.c -index 7cb048a3b3bdb..ec41a11e2f8fe 100644 ---- a/fs/inode.c -+++ b/fs/inode.c -@@ -2335,6 +2335,22 @@ struct timespec64 current_time(struct inode *inode) - } - EXPORT_SYMBOL(current_time); - -+/** -+ * inode_set_ctime_current - set the ctime to current_time -+ * @inode: inode -+ * -+ * Set the inode->i_ctime to the current value for the inode. Returns -+ * the current value that was assigned to i_ctime. -+ */ -+struct timespec64 inode_set_ctime_current(struct inode *inode) -+{ -+ struct timespec64 now = current_time(inode); -+ -+ inode_set_ctime(inode, now.tv_sec, now.tv_nsec); -+ return now; -+} -+EXPORT_SYMBOL(inode_set_ctime_current); -+ - /** - * in_group_or_capable - check whether caller is CAP_FSETID privileged - * @mnt_userns: user namespace of the mount @inode was found from -diff --git a/include/linux/fs.h b/include/linux/fs.h -index 6bba7a58c95c6..6f287fac0ecee 100644 ---- a/include/linux/fs.h -+++ b/include/linux/fs.h -@@ -1722,7 +1722,50 @@ static inline bool fsuidgid_has_mapping(struct super_block *sb, - kgid_has_mapping(fs_userns, kgid); - } - --extern struct timespec64 current_time(struct inode *inode); -+struct timespec64 current_time(struct inode *inode); -+struct timespec64 inode_set_ctime_current(struct inode *inode); -+ -+/** -+ * inode_get_ctime - fetch the current ctime from the inode -+ * @inode: inode from which to fetch ctime -+ * -+ * Grab the current ctime from the inode and return it. -+ */ -+static inline struct timespec64 inode_get_ctime(const struct inode *inode) -+{ -+ return inode->i_ctime; -+} -+ -+/** -+ * inode_set_ctime_to_ts - set the ctime in the inode -+ * @inode: inode in which to set the ctime -+ * @ts: value to set in the ctime field -+ * -+ * Set the ctime in @inode to @ts -+ */ -+static inline struct timespec64 inode_set_ctime_to_ts(struct inode *inode, -+ struct timespec64 ts) -+{ -+ inode->i_ctime = ts; -+ return ts; -+} -+ -+/** -+ * inode_set_ctime - set the ctime in the inode -+ * @inode: inode in which to set the ctime -+ * @sec: tv_sec value to set -+ * @nsec: tv_nsec value to set -+ * -+ * Set the ctime in @inode to { @sec, @nsec } -+ */ -+static inline struct timespec64 inode_set_ctime(struct inode *inode, -+ time64_t sec, long nsec) -+{ -+ struct timespec64 ts = { .tv_sec = sec, -+ .tv_nsec = nsec }; -+ -+ return inode_set_ctime_to_ts(inode, ts); -+} - - /* - * Snapshotting support. --- -2.42.0 - diff --git a/queue-5.15/series b/queue-5.15/series index c9df95b1067..d274f824944 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -62,7 +62,6 @@ cpufreq-imx6q-don-t-disable-792-mhz-opp-unnecessaril.patch iommu-vt-d-omit-devtlb-invalidation-requests-when-te.patch iommu-vt-d-make-context-clearing-consistent-with-con.patch smb3-fix-touch-h-of-symlink.patch-27885 -fs-add-ctime-accessors-infrastructure.patch-279 smb3-fix-caching-of-ctime-on-setxattr.patch-25511 cpufreq-imx6q-don-t-warn-for-disabling-a-non-existin.patch-28374 cpufreq-imx6q-don-t-disable-792-mhz-opp-unnecessaril.patch-21745