BUG #4965: missing tests in tools/fsync/test_fsync.c

Started by Jeff Janesover 16 years ago3 messagesbugs
Jump to latest
#1Jeff Janes
jeff.janes@gmail.com

The following bug has been logged online:

Bug reference: 4965
Logged by: Jeff Janes
Email address: jeff.janes@gmail.com
PostgreSQL version: 8.4.0
Operating system: Linux
Description: missing tests in tools/fsync/test_fsync.c
Details:

In the part that implements "Compare file sync methods with one 8k write",
the #ifdef OPEN_SYNC_FLAG code
is nested within the #ifdef OPEN_DATASYNC_FLAG code.

This causes o_sync to be skipped if o_dsync is unavailable, but only for
this particular section (the section with 2 8k writes doesn't have this
problem.)

Also, the statement that prints the "Compare file sync methods with one 8k
write" section title is up in the #ifdef block of a previous section, where
it might be omitted on systems without an o_sync.

#2Robert Haas
robertmhaas@gmail.com
In reply to: Jeff Janes (#1)
Re: BUG #4965: missing tests in tools/fsync/test_fsync.c

On Wed, Aug 5, 2009 at 10:46 AM, Jeff Janes<jeff.janes@gmail.com> wrote:

The following bug has been logged online:

Bug reference:      4965
Logged by:          Jeff Janes
Email address:      jeff.janes@gmail.com
PostgreSQL version: 8.4.0
Operating system:   Linux
Description:        missing tests in tools/fsync/test_fsync.c
Details:

In the part that implements "Compare file sync methods with one 8k write",
the #ifdef OPEN_SYNC_FLAG code
is nested within the #ifdef OPEN_DATASYNC_FLAG code.

This causes o_sync to be skipped if o_dsync is unavailable, but only for
this particular section (the section with 2 8k writes doesn't have this
problem.)

Also, the statement that prints the "Compare file sync methods with one 8k
write" section title is up in the #ifdef block of a previous section, where
it might be omitted on systems without an o_sync.

I'm not familiar enough with this code to know whether this is a bug,
but perhaps you should prepare a patch and send it to pgsql-hackers?

...Robert

#3Bruce Momjian
bruce@momjian.us
In reply to: Jeff Janes (#1)
Re: BUG #4965: missing tests in tools/fsync/test_fsync.c

Jeff Janes wrote:

The following bug has been logged online:

Bug reference: 4965
Logged by: Jeff Janes
Email address: jeff.janes@gmail.com
PostgreSQL version: 8.4.0
Operating system: Linux
Description: missing tests in tools/fsync/test_fsync.c
Details:

In the part that implements "Compare file sync methods with one 8k write",
the #ifdef OPEN_SYNC_FLAG code
is nested within the #ifdef OPEN_DATASYNC_FLAG code.

This causes o_sync to be skipped if o_dsync is unavailable, but only for
this particular section (the section with 2 8k writes doesn't have this
problem.)

Also, the statement that prints the "Compare file sync methods with one 8k
write" section title is up in the #ifdef block of a previous section, where
it might be omitted on systems without an o_sync.

Yea, that C file needed some help. I have applied the attached patch to
CVS HEAD and 8.4.X. Thanks for the report and let me know if you think
this can be improved further.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

Attachments:

/rtmp/difftext/x-diffDownload+35-21