pgsql: Don't include file type bits in tar archive's mode field.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Don't include file type bits in tar archive's mode field.
Date: 2014-12-05 11:55:46
Message-ID: E1XwrUA-0008OM-I7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't include file type bits in tar archive's mode field.

The "file mode" bits in the tar file header is not supposed to include the
file type bits, e.g. S_IFREG or S_IFDIR. The file type is stored in a
separate field. This isn't a problem in practice, all tar programs ignore
the extra bits, but let's be tidy.

This came up in a discussion around bug #11949, reported by Hendrik Grewe,
although this doesn't fix the issue with tar --append. That turned out to be
a bug in GNU tar. Schilly's tartest program revealed this defect in the tar
created by pg_basebackup.

This problem goes as far as we we've had pg_basebackup, but since this
hasn't caused any problems in practice, let's be conservative and fix in
master only.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/c0f279c469c87a010fda19647c5453baa5ba97ee

Modified Files
--------------
src/port/tar.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2014-12-05 12:37:02 pgsql: Give a proper error message if initdb password file is empty.
Previous Message Heikki Linnakangas 2014-12-05 10:18:20 pgsql: Remove erroneous EXTRA_CLEAN line from Makefile.