Date: Sat, 16 May 2020 01:09:28 +0200 From: Joerg Sonnenberger <joerg@bec.de> To: freebsd-hackers@freebsd.org, hackers@freebsd.org Subject: Re: [HEADSUP] Disallowing read() of a directory fd Message-ID: <20200515230928.GA9126@bec.de> In-Reply-To: <20200515224724.WFACq%steffen@sdaoden.eu> References: <202005142017.04EKH0aA093503@fire.js.berklix.net> <202005152000.04FK0tjk006516@slippy.cwsent.com> <20200515202526.GZ82984@trajan.stk.cx> <20200515220923.GA36597@bec.de> <20200515224724.WFACq%steffen@sdaoden.eu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, May 16, 2020 at 12:47:24AM +0200, Steffen Nurpmeso wrote: > Joerg Sonnenberger wrote in > <20200515220923.GA36597@bec.de>: > |On Fri, May 15, 2020 at 10:25:26PM +0200, Arne Steinkamm wrote: > |> On Fri, May 15, 2020 at 01:00:55PM -0700, Cy Schubert wrote: > |>> It's been 42 or more years since this bug was introduced. Let's \ > |>> just fix it > |>> now instead of agonizing over it. > |> > |> I didn't want to add something as everything is said, > |> but this sentence is a little bit to provocative. > |> > |> Everything is a file describes one of the defining features of Unix. > |> > |> Calling this defining feature of Unix a bug shows to me that the ideas > |> behind Unix got lost in the FreeBSD universe too... > | > |Using linear storage for a directory is an implementation detail of the > |implementation. It's not a defining feature. "Reading" from a directory > |doesn't make sense for many other organisational forms. So, are you now > |arguing that leaky abstractions are a defining feature of Unix? > > In an ideal Unix world read(2)ing from a directory fd would do the > job that getdents(2) / getdirentries(2) never moved to a standard, > leaving us with that terrible readdir(3) stuff. imho. That still doesn't work well with non-linear representations of directories. readdir has issues, but plain read is even worse. Joerg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200515230928.GA9126>