Re: [PATCH] ext3: wait on all pending commits in ext3_sync_fs

From: Ric Wheeler
Date: Mon Dec 22 2008 - 19:10:23 EST


Andreas Dilger wrote:
On Dec 22, 2008 14:15 -0500, Ric Wheeler wrote:
Without having dived into the patch in detail, one worry I would have is that we still might care to spin up a drive for empty transactions in order to invalidate the drive's write cache.

For example, if we have the following sequence:

(1) user app performs series of writes to file A
(2) pages dirtied from writes to A are destaged to the disk over time
(3) user app issues fsync(file A) to make sure that the data will survive a power outage

At this point in time, would this change prevent us from spinning up the drive and invalidating the disk write cache for that fsync() ?

Well, if the writes themselves didn't spin up the drive, it is uncertain
whether the write of the journal commit block would be any more helpful
in getting that to happen.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

To make the example cleared, add a step:

(2.5) between the writes and the fsync(), the drive spins down

In this case, if the app issues an fsync(), will we still have volatile data in its write cache that has not been flushed?

Ric

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/