| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [RFC] Badness in __mutex_unlock_slowpath with XFS stress tests |
| From: | Nathan Scott <nathans@xxxxxxx> |
| Date: | Fri, 10 Mar 2006 10:14:22 +1100 |
| Cc: | Suzuki <suzuki@xxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, "linux-aio kvack.org" <linux-aio@xxxxxxxxx>, lkml <linux-kernel@xxxxxxxxxxxxxxx>, suparna <suparna@xxxxxxxxxx>, akpm@xxxxxxxx, linux-xfs@xxxxxxxxxxx |
| In-reply-to: | <20060309224219.GA6709@infradead.org> |
| References: | <440FDF3E.8060400@in.ibm.com> <20060309120306.GA26682@infradead.org> <20060309223042.GC1135@frodo> <20060309224219.GA6709@infradead.org> |
| Sender: | linux-xfs-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.3i |
On Thu, Mar 09, 2006 at 10:42:19PM +0000, Christoph Hellwig wrote: > On Fri, Mar 10, 2006 at 09:30:42AM +1100, Nathan Scott wrote: > > Not for reads AFAICT - __generic_file_aio_read + own-locking > > should always have released i_mutex at the end of the direct > > read - are you thinking of writes or have I missed something? > > if an error occurs before a_ops->direct_IO is called __generic_file_aio_read > will return with i_mutex still locked. Note that checking for negative > return values is not enough as __blockdev_direct_IO can return errors > aswell. *groan* - right you are. Another option may be to have the generic dio+own-locking case reacquire i_mutex if it drops it, before returning... thoughts? Seems alot less invasive than the filemap.c code dup'ing thing. cheers. -- Nathan |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [RFC] Badness in __mutex_unlock_slowpath with XFS stress tests, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [RFC] Badness in __mutex_unlock_slowpath with XFS stress tests, Nathan Scott |
| Previous by Thread: | Re: [RFC] Badness in __mutex_unlock_slowpath with XFS stress tests, Christoph Hellwig |
| Next by Thread: | Re: [RFC] Badness in __mutex_unlock_slowpath with XFS stress tests, Nathan Scott |
| Indexes: | [Date] [Thread] [Top] [All Lists] |