Skip to content

Commit 2f2d879

Browse files
committed
fix for forkname detection in get_backup_filelist
1 parent 5851068 commit 2f2d879

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/catalog.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,14 +1138,18 @@ get_backup_filelist(pgBackup *backup, bool strict)
11381138
if (get_control_value_int64(buf, "hdr_size", &hdr_size, false))
11391139
file->hdr_size = (int) hdr_size;
11401140

1141-
if (file->external_dir_num == 0)
1141+
if (file->external_dir_num == 0 && S_ISREG(file->mode))
11421142
{
11431143
bool is_datafile = file->is_datafile;
11441144
set_forkname(file);
11451145
if (is_datafile != file->is_datafile)
11461146
{
1147-
elog(WARNING, "File '%s' was stored as datafile, but looks like it is not",
1148-
file->rel_path);
1147+
if (is_datafile)
1148+
elog(WARNING, "File '%s' was stored as datafile, but looks like it is not",
1149+
file->rel_path);
1150+
else
1151+
elog(WARNING, "File '%s' was stored as non-datafile, but looks like it is",
1152+
file->rel_path);
11491153
/* Lets fail in tests */
11501154
Assert(file->is_datafile == file->is_datafile);
11511155
file->is_datafile = is_datafile;

0 commit comments

Comments
 (0)