Re: BUG #6372: Error while creating database with fsync parameter as on incase of CIFS - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #6372: Error while creating database with fsync parameter as on incase of CIFS
Date
Msg-id 2113.1325538019@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #6372: Error while creating database with fsync parameter as on incase of CIFS  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: BUG #6372: Error while creating database with fsync parameter as on incase of CIFS  (Bruce Momjian <bruce@momjian.us>)
List pgsql-bugs
Alvaro Herrera <alvherre@commandprompt.com> writes:
> Excerpts from Tom Lane's message of lun ene 02 17:28:33 -0300 2012:
>> it seems like EINVAL is a considerably more reasonable thing to return
>> than EBADF, if the filesystem is trying to tell you that it won't fsync
>> a directory.  So I'm a bit surprised this question hasn't come up for
>> other filesystems.

> Probably because other filesystems do allow you to fsync directories.
> In fact for some cases they _require_ it ... remember the fiasco when
> MTA writers were told that they needed to fsync their queue dirs in
> order for all queued email to persist?

Yeah, the long and the short of it is that if the filesystem won't
accept an fsync on a directory, we have to assume that it doesn't need
it and will manage metadata persistence safely without prodding.

The only real question here is whether an EINVAL could mean something
besides "fsync on directory is not accepted".  If there are any
scenarios where it represents a transient/fixable error, then we'd
want to report it.  It's far from clear to me that there are any
though.  What it could mean in general is not at issue, because we
know the target is a directory that we just created moments before.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #6372: Error while creating database with fsync parameter as on incase of CIFS
Next
From: valgog@gmail.com
Date:
Subject: BUG #6375: tsearch does not recognize all valid emails