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

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: c0f279c469c87a010fda19647c5453baa5ba97ee
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2014-12-05T11:54:21Z
Releases: 9.5.0
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.

Files

PathChange+/−
src/port/tar.c modified +2 −2