[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110826085057.GA13311@infradead.org>
Date: Fri, 26 Aug 2011 04:50:57 -0400
From: Christoph Hellwig <hch@...radead.org>
To: Dave Chinner <david@...morbit.com>
Cc: Theodore Ts'o <tytso@....edu>, Jiaying Zhang <jiayingz@...gle.com>,
linux-ext4@...r.kernel.org
Subject: Re: [URGENT PATCH] ext4: fix potential deadlock in ext4_evict_inode()
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.
--
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