Re: ext3fs: umount+sync not enough to guarantee metadata-on-disk

From: Mark Lord
Date: Thu Jun 07 2007 - 17:39:13 EST


Andrew Morton wrote:
On Thu, 07 Jun 2007 12:11:58 -0400
Chuck Ebbert <cebbert@xxxxxxxxxx> wrote:

On 06/07/2007 11:41 AM, Andrew Morton wrote:
mount /var/lib/mythtv -oremount,ro
sync
umount /var/lib/mythtv
Did this succeed? If the application is still truncating that file, the
umount should have failed.
Shouldn't sync should wait for truncate to finish?

I can't think of anything in there at present which would cause that to
happen, and it's not immediately obvious how we _could_ make it happen - we
have an inode which potentially has no dirty pages and which is itself
clean. The truncate can span multiple journal commits, so forcing a
journal commit in sync() won't necessarily block behind the truncate.

I guess we could ask sync to speculatively take and release every inode's
i_mutex or something. But even that would involve quite some hoop-jumping
due to those infuriating spinlock-protected list_heads on the superblock.

hmm.

Yeah, I really don't know what to do with this either.
We have to have a bounds on how long we wait at shutdown,
but there doesn't seem to be an easy way to get notified
once a filesystem becomes idle (?).

I suppose I could have the script loop on /proc/interrupts until
it sees the disk activity has tapered off..

Cheers
-
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/