Hi,

On Thu, 27 May 1999 22:15:29 -0700 (PDT), Linus Torvalds <[EMAIL PROTECTED]> said:

> On Fri, 28 May 1999, Stephen C. Tweedie wrote:

>> I have a patch I've been trying out to improve fsync performance by
>> maintaining per-inode dirty buffer lists, and to implement fdatasync
>> by tracking "significant" and "insignificant" (ie.  timestamp) dirty
>> flags in the inode separately.

> Don't bother. This is one of the issues that is just going to go away
> when we do dirty blocks correctly (ie the patches that Ingo is working
> on).

The per-inode lists will go away, but the bulk of the patch is the VFS
extension necessary to distinguish between fsync() and fdatasync() (the
VFS methods currently lack any way of making that distinction in a
fsync call).  The (minor) inode changes required to support the
split-personality dirty bits will also be needed: I'll strip those out
from the buffer cache changes.

>> Fixing O_SYNC will ruin the performance of such applications. 

> I disagree - I don't think that O_SYNC should imply writing back access
> and mtimes. If the file size really changes, that we definitely should
> write the inode back, I don't think we can honestly say that anything else
> would make sense..

According to singleunix, we have no option: the entire point of having a
separate O_DSYNC is that the O_SYNC clearly specifies semantics which
are too expensive for most applications to use.

--Stephen

Reply via email to