On Fri, Mar 04, 2022 at 11:26:43PM +1300, Thomas Munro wrote:
> The warning from readlink() while making the mapping file isn't ideal,
> and perhaps we should suppress that with something like the attached.
> Or does the missing map file entry break something on Windows?
> @@ -8292,6 +8293,10 @@ do_pg_start_backup(const char *backupidstr, bool fast, TimeLineID *starttli_p,
>
> snprintf(fullpath, sizeof(fullpath), "pg_tblspc/%s", de->d_name);
>
> + /* Skip in-place tablespaces (testing use only) */
> + if (get_dirent_type(fullpath, de, false, ERROR) == PGFILETYPE_DIR)
> + continue;
I saw the warning when testing base backups with in-place tablespaces
and it did not annoy me much, but, yes, that can be confusing.
Junction points are directories, no? Are you sure that this works
correctly on WIN32? It seems to me that we'd better use readlink()
only for entries in pg_tlbspc/ that are PGFILETYPE_LNK on non-WIN32
and pgwin32_is_junction() on WIN32.
--
Michael