| Date | Thu, 17 Jan 2013 18:07:11 -0200 | From | Herton Ronaldo Krzesinski <> | Subject | Re: [ 36/71] ext4: lock i_mutex when truncating orphan inodes |
| |
On Tue, Jan 15, 2013 at 02:54:33PM -0800, Greg Kroah-Hartman wrote: > 3.0-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Theodore Ts'o <tytso@mit.edu> > > commit 721e3eba21e43532e438652dd8f1fcdfce3187e7 upstream. > > Commit c278531d39 added a warning when ext4_flush_unwritten_io() is > called without i_mutex being taken. It had previously not been taken > during orphan cleanup since races weren't possible at that point in > the mount process, but as a result of this c278531d39, we will now see > a kernel WARN_ON in this case. Take the i_mutex in > ext4_orphan_cleanup() to suppress this warning. > > Reported-by: Alexander Beregalov <a.beregalov@gmail.com> > Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> > Reviewed-by: Zheng Liu <wenqing.lz@taobao.com> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
By the description and looking at commit c278531d39, this change isn't needed for 3.0 or 3.4 kernels (anything <= 3.6), they don't contain commit c278531d39.
> > --- > fs/ext4/super.c | 2 ++ > 1 file changed, 2 insertions(+) > > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -2204,7 +2204,9 @@ static void ext4_orphan_cleanup(struct s > __func__, inode->i_ino, inode->i_size); > jbd_debug(2, "truncating inode %lu to %lld bytes\n", > inode->i_ino, inode->i_size); > + mutex_lock(&inode->i_mutex); > ext4_truncate(inode); > + mutex_unlock(&inode->i_mutex); > nr_truncates++; > } else { > ext4_msg(sb, KERN_DEBUG, > >
-- []'s Herton
|