| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] xfs: errors on sync superblock writes leave it locked |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Fri, 7 Jan 2011 17:11:25 +1100 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <20110104094336.GA19193@xxxxxxxxxxxxx> |
| References: | <1294116609-15138-1-git-send-email-david@xxxxxxxxxxxxx> <20110104094336.GA19193@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.20 (2009-06-14) |
On Tue, Jan 04, 2011 at 04:43:36AM -0500, Christoph Hellwig wrote: > I don't think the patch is quite correct. In the old code xfs_buf_rele > incremented the buffer reference count before calling ->b_relse, > expecting it do decrement it again. > > I think the best fix is to kill ->b_relse entirely. We can simply > do the buffer callback processing and b_flags updates in > xfs_buf_iodone_callbacks. The important thing is to not clear the > buffer error there, so that it actually get propagated to the caller. > As the buffer remains locked until xfs_bwrite calls xfs_buf_relse it > can get the error reliably that way. > > Patch below, but it's still running xfqa so far: Looks sane. can i get a signed-off-by for it from you and I'll include it in my remaining -for-2.6.38 series? Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: TRIM details, Martin K. Petersen |
|---|---|
| Next by Date: | Undeliverable mail: Message could not be delivered, MAILER-DAEMON |
| Previous by Thread: | Re: [PATCH] xfs: errors on sync superblock writes leave it locked, Christoph Hellwig |
| Next by Thread: | Accidentally deleted an external log, any recovery options?, Dean Burrows |
| Indexes: | [Date] [Thread] [Top] [All Lists] |