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

Ric Wheeler
2009-03-26T01:44:18Z

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