fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:&ino
PATCH 47/50 fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:&ino
Hi Zheng,
FYI, there are new smatch warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev head: b2f1a8e5612e2488a3995ec06b422b44651d088b commit: 3e1b02687146ddefa8e53c2a5e13d3bd87b16b09 [47/50] ext4: add support for hole punching non-extent-mapped files
+ fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:&inode->i_mutex: locked (1710) unlocked (1799)
vim +1799 fs/ext4/indirect.c
3e1b0268 (Zheng Liu 2012-09-28 1783) down_write(&EXT4_I(inode)->i_data_sem); 3e1b0268 (Zheng Liu 2012-09-28 1784) ext4_discard_preallocations(inode); 3e1b0268 (Zheng Liu 2012-09-28 1785) 3e1b0268 (Zheng Liu 2012-09-28 1786) err = ext4_free_hole_blocks(handle, inode, offsets1, n1, offsets2, n2); 3e1b0268 (Zheng Liu 2012-09-28 1787) 3e1b0268 (Zheng Liu 2012-09-28 1788) if (IS_SYNC(inode)) 3e1b0268 (Zheng Liu 2012-09-28 1789) ext4_handle_sync(handle); 3e1b0268 (Zheng Liu 2012-09-28 1790) 3e1b0268 (Zheng Liu 2012-09-28 1791) up_write(&EXT4_I(inode)->i_data_sem); 3e1b0268 (Zheng Liu 2012-09-28 1792) 3e1b0268 (Zheng Liu 2012-09-28 1793) out: 3e1b0268 (Zheng Liu 2012-09-28 1794) inode->i_mtime = inode->i_ctime = ext4_current_time(inode); 3e1b0268 (Zheng Liu 2012-09-28 1795) ext4_mark_inode_dirty(handle, inode); 3e1b0268 (Zheng Liu 2012-09-28 1796) ext4_journal_stop(handle); 3e1b0268 (Zheng Liu 2012-09-28 1797) error: 3e1b0268 (Zheng Liu 2012-09-28 1798) mutex_unlock(&inode->i_mutex); 3e1b0268 (Zheng Liu 2012-09-28 @1799) return err; 3e1b0268 (Zheng Liu 2012-09-28 1800) }
---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu, Yuanhan Liu Intel Corporation
Re: [ext4:dev 47/50] fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:
Quoted 3 lines · Fengguang Wu
Hi Zheng,
FYI, there are new smatch warnings show up in
Hi Fengguang,
It is my fault that it will return directly when it starts a transaction and gets an error. I will fix it in next version. Thanks.
Regards,
Zheng
Quoted 27 lines
tree: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev head: b2f1a8e5612e2488a3995ec06b422b44651d088b commit: 3e1b02687146ddefa8e53c2a5e13d3bd87b16b09 [47/50] ext4: add support for hole punching non-extent-mapped files+
fs/ext4/indirect.c:1799ext4_ind_punch_hole()warn: inconsistent returns mutex:&inode->i_mutex: locked (1710) unlocked (1799)vim +1799
fs/ext4/indirect.c3e1b0268 (Zheng Liu 2012-09-28 1783) down_write(&EXT4_I(inode)->i_data_sem); 3e1b0268 (Zheng Liu 2012-09-28 1784) ext4_discard_preallocations(inode); 3e1b0268 (Zheng Liu 2012-09-28 1785) 3e1b0268 (Zheng Liu 2012-09-28 1786) err = ext4_free_hole_blocks(handle, inode, offsets1, n1, offsets2, n2); 3e1b0268 (Zheng Liu 2012-09-28 1787) 3e1b0268 (Zheng Liu 2012-09-28 1788) if (IS_SYNC(inode)) 3e1b0268 (Zheng Liu 2012-09-28 1789) ext4_handle_sync(handle); 3e1b0268 (Zheng Liu 2012-09-28 1790) 3e1b0268 (Zheng Liu 2012-09-28 1791) up_write(&EXT4_I(inode)->i_data_sem); 3e1b0268 (Zheng Liu 2012-09-28 1792) 3e1b0268 (Zheng Liu 2012-09-28 1793) out: 3e1b0268 (Zheng Liu 2012-09-28 1794) inode->i_mtime = inode->i_ctime = ext4_current_time(inode); 3e1b0268 (Zheng Liu 2012-09-28 1795) ext4_mark_inode_dirty(handle, inode); 3e1b0268 (Zheng Liu 2012-09-28 1796) ext4_journal_stop(handle); 3e1b0268 (Zheng Liu 2012-09-28 1797) error: 3e1b0268 (Zheng Liu 2012-09-28 1798) mutex_unlock(&inode->i_mutex); 3e1b0268 (Zheng Liu 2012-09-28 @1799) return err; 3e1b0268 (Zheng Liu 2012-09-28 1800) }
Re: [ext4:dev 47/50] fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:
In reply to Fengguang WuQuoted 7 lines · Fengguang Wu
Hi Zheng,
FYI, there are new smatch warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev head: b2f1a8e5612e2488a3995ec06b422b44651d088b commit: 3e1b02687146ddefa8e53c2a5e13d3bd87b16b09 [47/50] ext4: add support for hole punching non-extent-mapped files
I'm going to be dropping the indirect punch hole patches from the ext4 dev tree, based on the number of xfstests failures that I found in my overnight testing.
I had hoped the changes were small and localized, and wouldn't cause problems if the punch hole feature wasn't used, but at this point, given that many distributions are starting to use the ext4 file system for legacy ext3 file systems, my judgement is that the risks are too great for the upcoming merge window; so this will probably need to wait for the next development cycle.
- Ted
Re: [ext4:dev 47/50] fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:
Quoted 13 lines · Theodore Ts'o
Quoted 7 lines · Fengguang Wu
Hi Zheng,
FYI, there are new smatch warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev head: b2f1a8e5612e2488a3995ec06b422b44651d088b commit: 3e1b02687146ddefa8e53c2a5e13d3bd87b16b09 [47/50] ext4: add support for hole punching non-extent-mapped filesI'm going to be dropping the indirect punch hole patches from the ext4 dev tree, based on the number of xfstests failures that I found in my overnight testing.
Quoted 6 lines
I had hoped the changes were small and localized, and wouldn't cause problems if the punch hole feature wasn't used, but at this point, given that many distributions are starting to use the ext4 file system for legacy ext3 file systems, my judgement is that the risks are too great for the upcoming merge window; so this will probably need to wait for the next development cycle.
Hi Ted,
These patches would need to do more tests, and I will look at them in next development cycle. I am not sure whether indirect punch hole is really useful for us or not. What do you think about this feature? Thanks
Regards,
Zheng