Abhijit Menon-Sen wrote: Hi,
> At 2015-04-03 13:32:32 -0300, alvhe...@2ndquadrant.com wrote: > > I also noticed that walkdir() thinks it is completely agnostic on > > what the passed action is; except that the comment at the bottom talks > > about how fsync on directories is important, which seems out of place. > > Yes. The function behaves as documented, but the comment is clearly too > specific. I'm not sure where to put it. I could make walkdir() NOT do > it, and instead do it in the caller with the same comment. Thoughts? I think it's enough to state in the function comment that the action is applied to the top element too. Maybe add the fsync comment on the callsite. > > Hmm ... Actually, since surely we must follow symlinks everywhere, > > why do we have to do this separately for pg_tblspc? Shouldn't that > > link-following occur automatically when walking PGDATA in the first > > place? > > I'm not sure about that (and that's why I've not attached an updated > patch here). The original idea was to follow only those links that we > expect to be in PGDATA. > > I suppose it would be easier in terms of the code to follow all links, > but I don't know if it's the right thing. If that's what you think we > should do, I can post a simplified patch. Well, we have many things that can be set as symlinks; some you can have initdb create the links for you (initdb --xlogdir), others you can move manually. I think not following all links might lead to impossible-to- detect bugs such as failing to fsync new pgdata subdirectories we add in the future, for example. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers