]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ocfs2: use jbd2 jinode dirty range accessor
authorLi Chen <me@linux.beauty>
Fri, 6 Mar 2026 08:56:41 +0000 (16:56 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 9 Apr 2026 14:51:05 +0000 (10:51 -0400)
ocfs2 journal commit callback reads jbd2_inode dirty range fields without
holding journal->j_list_lock.
Use jbd2_jinode_get_dirty_range() to get the range in bytes.

Suggested-by: Jan Kara <jack@suse.cz>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Li Chen <me@linux.beauty>
Link: https://patch.msgid.link/20260306085643.465275-4-me@linux.beauty
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ocfs2/journal.c

index 4c86a9d468700259eed137f97bf847973ec6669c..f9bf3bac085db1d4b436beaa47e7fa5a01382866 100644 (file)
@@ -899,8 +899,13 @@ bail:
 
 static int ocfs2_journal_submit_inode_data_buffers(struct jbd2_inode *jinode)
 {
-       return filemap_fdatawrite_range(jinode->i_vfs_inode->i_mapping,
-                       jinode->i_dirty_start, jinode->i_dirty_end);
+       struct address_space *mapping = jinode->i_vfs_inode->i_mapping;
+       loff_t range_start, range_end;
+
+       if (!jbd2_jinode_get_dirty_range(jinode, &range_start, &range_end))
+               return 0;
+
+       return filemap_fdatawrite_range(mapping, range_start, range_end);
 }
 
 int ocfs2_journal_init(struct ocfs2_super *osb, int *dirty)