Re: Win32 Powerfail testing

From: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
To: "Tatsuo Ishii" <t-ishii(at)sra(dot)co(dot)jp>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Win32 Powerfail testing
Date: 2003-03-06 14:54:25
Message-ID: 03AF4E498C591348A42FC93DEA9661B885CD@mail.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> -----Original Message-----
> From: Tatsuo Ishii [mailto:t-ishii(at)sra(dot)co(dot)jp]
> Sent: 06 March 2003 14:00
> To: Dave Page
> Cc: pgsql-hackers(at)postgresql(dot)org
> Subject: Re: [HACKERS] Win32 Powerfail testing
>
>
> > > Sorry, but it does not help. The page says we could use
> > > FlushFileBuffers() to sync the kernel buffer to the
> > > disk. Unfortunately, it requires a file descriptor to flush
> > > for its argument. Thus it could not be a replacement of
> > > sync(). Actually I have modified the buffer manager so that
> > > it remembers all file descriptors those have not been synced
> > > yet to the disk at the checkpoint time to sync them later.
> > > However I found this modification does not help at all with
> > > some reason I don't know.
> >
> > How do you open the files (function, flags etc)?
>
> Are you asking the way how to open files in the buffer
> manager? If so, basically PostgreSQL uses open() with flags
> (O_RDWR | PG_BINARY, 0600).

I cannot find it now, but I'm sure I read that FlushFileBuffers() has no
effect unless the file was opened with CreateFile() with the
GENERIC_WRITE flag. A quick google shows quite a few people recommending
that approach to others having trouble flushing files opened with fopen
or _open.

Regards, Dave.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2003-03-06 14:58:20 Re: bug in contrib/adddepend
Previous Message Rod Taylor 2003-03-06 14:16:24 Re: Row level stats