On Wed, Mar 03 2010, John Hughes wrote:Ok, I will try this patch and get back to you.
Just a thought. What exactly is sync(2) supposed to do - block until there are no more dirty pages, or block until all pages that were dirty when the sync was done are clean? In other words is the problem simply that pages are being dirtied faster than the sync is writing them out?
Our sync is currently broken in that regard, since it'll wait for too
long. We have a debated patch going, I have included it below. Any
chance you could give it a whirl?
The semantics of sync are supposed to be 'wait for dirty IO generated
BEFORE this sync call'.