From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, konishi.ryusuke@gmail.com
Cc: Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 5.4 5.10 5.15 6.1 1/3] nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link
Date: Thu, 27 Feb 2025 23:56:21 -0500 [thread overview]
Message-ID: <20250227200402-587d02fe6761bf54@stable.kernel.org> (raw)
In-Reply-To: <20250226180247.4950-2-konishi.ryusuke@gmail.com>
[ Sasha's backport helper bot ]
Hi,
Summary of potential issues:
ℹ️ Patch is missing in 6.13.y (ignore if backport was sent)
⚠️ Commit missing in all newer stable branches
The upstream commit SHA1 provided is correct: 584db20c181f5e28c0386d7987406ace7fbd3e49
Status in newer kernel trees:
6.13.y | Present (exact SHA1)
6.12.y | Present (exact SHA1)
6.6.y | Present (different SHA1: 944a4f8f0b07)
6.1.y | Not found
Note: The patch differs from the upstream commit:
---
1: 584db20c181f5 ! 1: e7803a5bf15f3 nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link
@@ Metadata
## Commit message ##
nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link
+ commit 584db20c181f5e28c0386d7987406ace7fbd3e49 upstream.
+
Patch series "nilfs2: Folio conversions for directory paths".
This series applies page->folio conversions to nilfs2 directory
@@ Commit message
sizes, both on machines with and without highmem mapping. No issues
found.
-
This patch (of 17):
In a few directory operations, the call to nilfs_put_page() for a page
@@ Commit message
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+ Stable-dep-of: ee70999a988b ("nilfs2: handle errors that nilfs_prepare_chunk() may return")
## fs/nilfs2/dir.c ##
@@ fs/nilfs2/dir.c: static inline unsigned int nilfs_chunk_size(struct inode *inode)
@@ fs/nilfs2/dir.c: static inline unsigned int nilfs_chunk_size(struct inode *inode
/*
* Return the offset into page `page_nr' of the last valid
* byte in that page, plus one.
-@@ fs/nilfs2/dir.c: ino_t nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr)
- return res;
+@@ fs/nilfs2/dir.c: int nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr, ino_t *ino)
+ return 0;
}
-/* Releases the page */
@@ fs/nilfs2/dir.c: void nilfs_set_link(struct inode *dir, struct nilfs_dir_entry *
nilfs_set_de_type(de, inode);
nilfs_commit_chunk(page, mapping, from, to);
- nilfs_put_page(page);
- inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
+ dir->i_mtime = dir->i_ctime = current_time(dir);
}
@@ fs/nilfs2/dir.c: int nilfs_add_link(struct dentry *dentry, struct inode *inode)
@@ fs/nilfs2/dir.c: int nilfs_add_link(struct dentry *dentry, struct inode *inode)
{
@@ fs/nilfs2/dir.c: int nilfs_delete_entry(struct nilfs_dir_entry *dir, struct page *page)
nilfs_commit_chunk(page, mapping, from, to);
- inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
+ inode->i_ctime = inode->i_mtime = current_time(inode);
out:
- nilfs_put_page(page);
return err;
@@ fs/nilfs2/namei.c: static int nilfs_do_unlink(struct inode *dir, struct dentry *
if (err)
goto out;
-@@ fs/nilfs2/namei.c: static int nilfs_rename(struct mnt_idmap *idmap,
- if (!new_de)
+@@ fs/nilfs2/namei.c: static int nilfs_rename(struct inode *old_dir, struct dentry *old_dentry,
goto out_dir;
+ }
nilfs_set_link(new_dir, new_de, new_page, old_inode);
+ nilfs_put_page(new_page);
nilfs_mark_inode_dirty(new_dir);
- inode_set_ctime_current(new_inode);
+ new_inode->i_ctime = current_time(new_inode);
if (dir_de)
-@@ fs/nilfs2/namei.c: static int nilfs_rename(struct mnt_idmap *idmap,
- inode_set_ctime_current(old_inode);
+@@ fs/nilfs2/namei.c: static int nilfs_rename(struct inode *old_dir, struct dentry *old_dentry,
+ old_inode->i_ctime = current_time(old_inode);
nilfs_delete_entry(old_de, old_page);
+ nilfs_put_page(old_page);
@@ fs/nilfs2/namei.c: static int nilfs_rename(struct mnt_idmap *idmap,
drop_nlink(old_dir);
}
nilfs_mark_inode_dirty(old_dir);
-@@ fs/nilfs2/namei.c: static int nilfs_rename(struct mnt_idmap *idmap,
+@@ fs/nilfs2/namei.c: static int nilfs_rename(struct inode *old_dir, struct dentry *old_dentry,
return err;
out_dir:
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.4.y | Success | Success |
| stable/linux-5.10.y | Success | Success |
| stable/linux-5.15.y | Success | Success |
| stable/linux-6.1.y | Success | Success |
next prev parent reply other threads:[~2025-02-28 5:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-26 18:00 [PATCH 5.4 5.10 5.15 6.1 0/3] nilfs2: fix potential kernel BUG on rename operations Ryusuke Konishi
2025-02-26 18:00 ` [PATCH 5.4 5.10 5.15 6.1 1/3] nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link Ryusuke Konishi
2025-02-27 5:08 ` Sasha Levin
2025-02-28 4:56 ` Sasha Levin [this message]
2025-02-26 18:00 ` [PATCH 5.4 5.10 5.15 6.1 2/3] nilfs2: eliminate staggered calls to kunmap in nilfs_rename Ryusuke Konishi
2025-02-27 5:08 ` Sasha Levin
2025-02-28 4:56 ` Sasha Levin
2025-02-26 18:00 ` [PATCH 5.4 5.10 5.15 6.1 3/3] nilfs2: handle errors that nilfs_prepare_chunk() may return Ryusuke Konishi
2025-02-27 5:08 ` Sasha Levin
2025-02-28 4:56 ` Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250227200402-587d02fe6761bf54@stable.kernel.org \
--to=sashal@kernel.org \
--cc=konishi.ryusuke@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.