Re: Fwd: Re: A new look at old NFS readdir() problems?
От | Larry Rosenman |
---|---|
Тема | Re: Fwd: Re: A new look at old NFS readdir() problems? |
Дата | |
Msg-id | 003f46cfd6fd68a6ae31e0e0a83cffea@lerctr.org обсуждение исходный текст |
Ответ на | Re: Fwd: Re: A new look at old NFS readdir() problems? (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-hackers |
On 01/02/2025 2:50 pm, Bruce Momjian wrote: > On Thu, Jan 2, 2025 at 03:48:53PM -0500, Tom Lane wrote: >> Larry Rosenman <ler@lerctr.org> writes: >> > @Tom Lane: This is what Rick Macklem (NFS dev on FreeBSD) has to say on >> > my issue. >> >> Thanks for reaching out to him. So if I'm reading this correctly, >> there's little point in filing a FreeBSD bug because it'll be >> dismissed as unfixable. >> >> This leaves us in rather a nasty position. Sure, we could rewrite >> rmtree() as Thomas suggested upthread, but I'm still of the opinion >> that that's smearing lipstick on a pig. rmtree() is the least of >> our worries: it doesn't need to expect that anybody else will be >> modifying the target directory, plus it can easily restart its scan >> without complicated bookkeeping. I doubt we can make such an >> assumption for all our uses of readdir(), or that it's okay to >> miss or double-process files in every one of them. >> >> I'm still of the opinion that the best thing to do is disclaim >> safety of storing a database on NFS. > > It would be nice to have some details on the docs about why NFS can > cause problems so we have something to point to when people ask. What about doing what Rick suggests? do { dir = opendir("X"); dp = readdir(dir); if (dp != NULL) unlink(dp->d_name); close(dir); } while (dp != NULL); ? -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: ler@lerctr.org US Mail: 13425 Ranch Road 620 N, Apt 718, Austin, TX 78717-1010
В списке pgsql-hackers по дате отправления: