| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: review: use correct buffer flags when reading superblock |
| From: | Lachlan McIlroy <lachlan@xxxxxxx> |
| Date: | Fri, 19 Oct 2007 11:32:18 +1000 |
| Cc: | David Chinner <dgc@xxxxxxx>, xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx> |
| In-reply-to: | <20071018154649.GA16837@xxxxxxxxxxxxx> |
| References: | <470C8F5B.90705@xxxxxxx> <20071010093451.GA7655@xxxxxxxxxxxxx> <20071010112505.GH23367404@xxxxxxx> <20071018154649.GA16837@xxxxxxxxxxxxx> |
| Reply-to: | lachlan@xxxxxxx |
| Sender: | xfs-bounce@xxxxxxxxxxx |
| User-agent: | Thunderbird 2.0.0.4 (X11/20070604) |
Christoph Hellwig wrote: On Wed, Oct 10, 2007 at 09:25:06PM +1000, David Chinner wrote:Where are these set up in the first time? AFAICS the buffer only written out by xfs_unmountfs_writesb, xfs_syncsub and xfs_trans_log_buf, and all these should only ever happen after log recovery has finished.It can also be written by xfsbufd when it has been bdwrite() or as a result of log tail pushing.Hmm, true.Because the superblock buffer is XBF_FS_MANAGED, it does not get torn down when it is clean and has no references, so the XBF_ASYNC flag never gets cleared unless the fs specifically clears it. If the superblock is then not recovered out of any further transactions during recovery after xfsbufd flushed it, the XBF_ASYNC flag remains set for the re-read that is issued in xlog_do_recover() and we hang.....Makes sense as an explanation. I still don't really like patch, maybe we should always clear the ASYNC flag in the b_iodone callback? That sounds like a good idea. Or get rid of the XBF_FS_MANAGED special case and get a new fresh buffer each time. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | TAKE 972004 - Make xfs_bulkstat() to report unlinked but referenced inodes, Vlad Apostolov |
|---|---|
| Next by Date: | Re: review: use correct buffer flags when reading superblock, David Chinner |
| Previous by Thread: | Re: review: use correct buffer flags when reading superblock, Christoph Hellwig |
| Next by Thread: | Re: review: use correct buffer flags when reading superblock, David Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |