[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121108215233.GB1282@lenny.home.zabbo.net>
Date: Thu, 8 Nov 2012 13:52:33 -0800
From: Zach Brown <zab@...hat.com>
To: Lukas Czerner <lczerner@...hat.com>
Cc: linux-ext4@...r.kernel.org, tytso@....edu
Subject: Re: [PATCH] ext4: Prevent race while waling extent tree
On Thu, Nov 08, 2012 at 12:08:49PM +0100, Lukas Czerner wrote:
> + down_read(&EXT4_I(inode)->i_data_sem);
> error = ext4_ext_walk_space(inode, start_blk, len_blks,
> ext4_ext_fiemap_cb, fieinfo);
> + up_read(&EXT4_I(inode)->i_data_sem);
Can this deadlock? ext4_ext_fiemap_cb() seems to be doing all kinds of
exciting things that might also try and acquire the i_data_sem, like
GFP_KERNEL allocs (reclaim -> writepage) and copying to userspace (mmap
fault -> readpage -> get blocks).
It seems like the safer fix is to broaden the sampling lock coverage to
include referencing all the extent data but to release it around the
callback.
No?
- z
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists