|To:||Christoph Hellwig <hch@xxxxxxxxxxxxx>|
|Subject:||Re: [PATCH 5/6] xfs: fix buffer shudown reference count mismatch|
|From:||Mark Tinguely <tinguely@xxxxxxx>|
|Date:||Fri, 02 Nov 2012 12:10:02 -0500|
|Cc:||Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx|
|References:||<1351816724-3000-1-git-send-email-david@xxxxxxxxxxxxx> <1351816724-3000-6-git-send-email-david@xxxxxxxxxxxxx> <20121102024351.GU29378@dastard> <20121102131326.GG12578@xxxxxxxxxxxxx>|
|User-agent:||Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0|
On 11/02/12 08:13, Christoph Hellwig wrote:
I don't like this. ioend processing is very different for synchrous writes, with the most important difference being that synchronous writes need to wake the submitter at I/O completion. From all I can see your v2 patch breaks that beahviour. For 3.7-rc I'd suggest taking the additional reference conditionally. For 3.8 I'm going to look into simply acquiring an additional reference for synchronous writes during I/O submission to kill these special cases all over the buffer code.
Testing shows that conditionally taking the additional reference does work at avoiding the b_bhold is zero assert without causing pag is not empty assert. Thanks, --Mark Tinguely.
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: [PATCH] xfsdump:fill in bs_forkoff, Ben Myers|
|Next by Date:||Re: [PATCH] xfsdump:fill in bs_forkoff, Ben Myers|
|Previous by Thread:||Re: [PATCH 5/6] xfs: fix buffer shudown reference count mismatch, Christoph Hellwig|
|Next by Thread:||Re: [PATCH 5/6] xfs: fix buffer shudown reference count mismatch, Dave Chinner|
|Indexes:||[Date] [Thread] [Top] [All Lists]|