summaryrefslogtreecommitdiff
path: root/fs/nilfs2/inode.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2023-08-21 14:26:20 -0700
committerAndrew Morton <akpm@linux-foundation.org>2023-08-21 14:26:20 -0700
commit5994eabf3bbbea550166ae90de0c854fc984c95d (patch)
tree6b242a70d3254c408c68157a5f5b2fa7eb9f6a4b /fs/nilfs2/inode.c
parente45a2e947dfa6da2d73e2cf91ed6399c12522d4f (diff)
parent6867c7a3320669cbe44b905a3eb35db725c6d470 (diff)
downloadlinux-5994eabf3bbbea550166ae90de0c854fc984c95d.tar.gz
linux-5994eabf3bbbea550166ae90de0c854fc984c95d.tar.bz2
linux-5994eabf3bbbea550166ae90de0c854fc984c95d.zip
merge mm-hotfixes-stable into mm-stable to pick up depended-upon changes
Diffstat (limited to 'fs/nilfs2/inode.c')
-rw-r--r--fs/nilfs2/inode.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index a8ce522ac747..35bc79305318 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -1101,9 +1101,17 @@ int nilfs_set_file_dirty(struct inode *inode, unsigned int nr_dirty)
int __nilfs_mark_inode_dirty(struct inode *inode, int flags)
{
+ struct the_nilfs *nilfs = inode->i_sb->s_fs_info;
struct buffer_head *ibh;
int err;
+ /*
+ * Do not dirty inodes after the log writer has been detached
+ * and its nilfs_root struct has been freed.
+ */
+ if (unlikely(nilfs_purging(nilfs)))
+ return 0;
+
err = nilfs_load_inode_block(inode, &ibh);
if (unlikely(err)) {
nilfs_warn(inode->i_sb,