summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Chen <me@linux.beauty>2026-03-06 16:56:41 +0800
committerTheodore Ts'o <tytso@mit.edu>2026-04-09 10:51:05 -0400
commitbe81084e032c2d74f51173e30f687ce13476cb73 (patch)
treec045cf214446dfac67ffa5cc13d070e07860b0af
parent660d23669982202c99798658e2a15ccdd001f82b (diff)
ocfs2: use jbd2 jinode dirty range accessor
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>
-rw-r--r--fs/ocfs2/journal.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 4c86a9d46870..f9bf3bac085d 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -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)