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

Jeff Garzik
2009-03-26T01:34:19Z

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