Re: A micro-optimisation for walkdir()
Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>
From: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Magnus Hagander <magnus@hagander.net>, Andres Freund <andres@anarazel.de>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-09-07T14:03:38Z
Lists: pgsql-hackers
On Mon, Sep 7, 2020 at 1:41 PM Thomas Munro <thomas.munro@gmail.com> wrote: > On Mon, Sep 7, 2020 at 9:42 PM Magnus Hagander <magnus@hagander.net> > wrote: > > On Mon, Sep 7, 2020 at 12:27 AM Thomas Munro <thomas.munro@gmail.com> > wrote: > >> I think the following is a little mysterious, but it does seem to be > >> what people do for this in other projects. It is the documented way > >> to detect mount points, and I guess IO_REPARSE_TAG_MOUNT_POINT is > >> either overloaded also for junctions, or junctions are the same thing > >> as mount points. It would be nice to see a Win32 documentation page > >> that explicitly said that. > > > > The wikipedia page on it is actually fairly decent: > https://en.wikipedia.org/wiki/NTFS_reparse_point. It's not the > documentation of course, but it's easier to read :) The core difference is > whether you mount a whole filesystem (mount point) or just a directory off > something mounted elsehwere (junction). > > > > And yes, the wikipedia page confirms that junctions also use > IO_REPARSE_TAG_MOUNT_POINT. > > Thanks for confirming. I ran the Windows patch through pgindent, > fixed a small typo, and pushed. > Great, thanks. Should we include something from this discussion as comments? Regards, Juan José Santamaría Flecha
Commits
-
Add d_type to our Windows dirent emulation.
- 87e6ed7c8c6a 14.0 landed
-
Skip unnecessary stat() calls in walkdir().
- 861c6e7c8e4d 14.0 landed