Skip to contentSkip to conversation

fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:&ino

PATCH In review Fengguang Wu 3 participants 4 messages Sep 28, 2012 Kernel janitors

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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: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) }
#2 lore raw

Re: [ext4:dev 47/50] fs/ext4/indirect.c:1799 ext4_ind_punch_hole() warn: inconsistent returns mutex:

In reply to Fengguang Wu
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 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

#3 lore raw

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 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.

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