Re: Experimental ARC implementation - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Experimental ARC implementation
Date
Msg-id 3FAC0646.3060007@dunslane.net
Whole thread Raw
In response to Re: Experimental ARC implementation  (Greg Stark <gsstark@mit.edu>)
List pgsql-hackers
Greg Stark wrote:

>Bruce Momjian <pgman@candle.pha.pa.us> writes:
>
>  
>
>>>I am not really aiming at removing sync() alltogether. We know already 
>>>that open,fsync,close does not guarantee you flush dirty OS-buffers for 
>>>which another process might so far only have done open,write. And you 
>>>      
>>>
>
>So for what it's worth, though the spec seems to indicate fsync is only
>guaranteed to sync writes to that file descriptor, in reality all known VFS's
>do not associated dirty buffers with particular file descriptors. 
>
>At least I checked with people that NetBSD and Solaris do not. Both developers
>said they were unaware of any OS that kept dirty buffers per-fd and couldn't
>imagine anyone wanting to do that. It would be fairly easy to check Linux. All
>the others out there are fairly closely related to either NetBSD or Solaris.
>  
>

The Linux man page for fsync says this:
      fsync copies all in-core parts of a file to disk, and waits  
until  the      device  reports  that all parts are on stable storage.  It also 
updates      metadata stat information.

which seems to imply similar behaviour on Linux as for other OSs. What I 
could understand of the source code in mm/filemap.c and fs/buffer.c 
appeared to confirm that.

cheers

andrew



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: What do you want me to do?
Next
From: Jan Wieck
Date:
Subject: Re: stats collector causes shared-memory-block leakage