From: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>, Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>, Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Disaster! |
Date: | 2004-01-25 00:21:45 |
Message-ID: | 40130C19.2070903@familyhealth.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> After more staring at the code, I have a theory. SlruPhysicalWritePage
> and SlruPhysicalReadPage are coded on the assumption that close() can
> never return any interesting failure. However, it now occurs to me that
> there are some filesystem implementations wherein ENOSPC could be
> returned at close() rather than the preceding write(). (For instance,
> the HPUX man page for close() states that this never happens on local
> filesystems but can happen on NFS.) So it'd be possible for
> SlruPhysicalWritePage to think it had successfully written a page when
> it hadn't. This would allow a checkpoint to complete :-(
FreeBSD 4.7/4.9 and the UFS filesystem
RETURN VALUES
The close() function returns the value 0 if successful; otherwise the
value -1 is returned and the global variable errno is set to
indicate the
error.
ERRORS
Close() will fail if:
[EBADF] D is not an active descriptor.
[EINTR] An interrupt was received.
Chris
From | Date | Subject | |
---|---|---|---|
Next Message | Randolf Richardson | 2004-01-25 01:40:59 | Re: Copyright (C) 1996-2002 |
Previous Message | Richard Schilling | 2004-01-24 21:44:12 | New Open Source License: Single Supplier Open Source License [rschi@rsmba.biz] |