Re: disaster recovery

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Marco Colombo <marco(at)esi(dot)it>
Cc: Alex Satrapa <alex(at)lintelsys(dot)com(dot)au>, "Pgsql (E-mail)" <pgsql-general(at)postgresql(dot)org>
Subject: Re: disaster recovery
Date: 2003-11-28 20:18:30
Message-ID: 20031128201830.GA23706@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Nov 28, 2003 at 12:28:25 +0100,
Marco Colombo <marco(at)esi(dot)it> wrote:
>
> My understanding of the problem is: UNIX fsync(), historically,
> used to sync also directory data (filename entries) before returning.
> MTAs used to call rename()/fsync() or link()/unlink()/fsync()
> sequences to "commit" a message to disk. In Linux, fsync() is
> documented _not_ to sync directory data, "just" file data and metadata
> (inode). While the UNIX behaviour turned out to be very useful,
> personally I don't think Linux fsync() is broken/buggy. A file in
> UNIX is just that, data blocks and inode. Syncing directory data
> was just a (useful) side-effect of one implementation. In Linux,
> an explicit fsync() on the directory itself is needed (and in each
> path component if you changed one of them too), if you want to
> commit changes to disk. Doing that is just as safe as on any filesystem,
> even on ext2 with async writes enabled (it doesn't mean "ignore fsync()"
> after all!).

A new function name should have been used to go along with the new semantics.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2003-11-28 21:17:34 Re: 7.3.4 and 7.4 ORDER in queries
Previous Message Mounir Benzid 2003-11-28 20:14:16 [pg 7.4 / Solaris 8] Could not bind socket for statistics collector