Thread (19 messages) 19 messages, 5 authors, 2011-08-31

Re: [URGENT PATCH] ext4: fix potential deadlock in ext4_evict_inode()

From: Christoph Hellwig <hch@infradead.org>
Date: 2011-08-26 08:51:00

On Fri, Aug 26, 2011 at 06:44:03PM +1000, Dave Chinner wrote:
While the lockdep report is false positive, I agree that your
change is the right fix to make - the IO completions are already
queued on the workqueue, so they don't need to be flushed to get
them to complete. All that needs to be done is call
ext4_ioend_wait() for them to complete, and that gets rid of the
i_mutex altogether. (*)
The really correct fix is to stop using the ioend wait like I did
in my pending series for XFS.  The only thing preventing ext4 from
doing that is that it marks pages uptodate from irq context,
before finishing the ioends.  This has a lot of nasty implications
as the the page might be marked uptodate without actually having
that state on disk.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help