Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Li Chen and committed by
Theodore Ts'o
be81084e 660d2366

+7 -2
+7 -2
fs/ocfs2/journal.c
··· 899 899 900 900 static int ocfs2_journal_submit_inode_data_buffers(struct jbd2_inode *jinode) 901 901 { 902 - return filemap_fdatawrite_range(jinode->i_vfs_inode->i_mapping, 903 - jinode->i_dirty_start, jinode->i_dirty_end); 902 + struct address_space *mapping = jinode->i_vfs_inode->i_mapping; 903 + loff_t range_start, range_end; 904 + 905 + if (!jbd2_jinode_get_dirty_range(jinode, &range_start, &range_end)) 906 + return 0; 907 + 908 + return filemap_fdatawrite_range(mapping, range_start, range_end); 904 909 } 905 910 906 911 int ocfs2_journal_init(struct ocfs2_super *osb, int *dirty)