Re: [PATCH] issue storage device flush via sync_blockdev() (was Re:Linux 2.6.29)

From: Ric Wheeler
Date: Wed Mar 25 2009 - 21:44:19 EST


Jeff Garzik wrote:
Jeff Garzik wrote:
Ric Wheeler wrote:
What do you think sync_blockdev() does? What is its purpose?

Twofold:
(1) guarantee all user data is flushed out before a major event (unmount, journal close, unplug, poweroff, explosion, ...)

(2) As a sledgehammer hack for simple or legacy filesystems that do not wish or need the complexity of transactional protection. sync_blockdev() is intentionally used in lieu of complexity for the following filesystems: HFS, HFS+, ADFS, AFFS, FAT, bfs, UFS, NTFS, qnx4.

My patch adds needed guarantees, only for the above filesystems, where none were present before.

To be specific, I was referring to fsync(2) guarantees being added to HFS, HFS+, ADFS, AFFS, FAT, bfs, UFS, NTFS, and qnx4.

Other filesystems, besides those in the list, gain the flush-on-unmount action (a rare but useful addition) with my patch.

Jeff



Sorry for misunderstanding the scope of this before - this is certainly a net win for the file systems that don't have proper barrier support baked in already. Thanks!

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/