Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 May 2020 07:41:43 +0000
From:      Grzegorz Junka <list1@gjunka.com>
To:        freebsd-arch@freebsd.org
Subject:   Re: [HEADSUP] Disallowing read() of a directory fd
Message-ID:  <a2ff1b81-2302-883c-dca1-437c04952881@gjunka.com>
In-Reply-To: <202005142017.04EKH0aA093503@fire.js.berklix.net>
References:  <202005142017.04EKH0aA093503@fire.js.berklix.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 14/05/2020 20:17, Julian H. Stacey wrote:
> Kyle Evans wrote:
>> Hi,
>>
>> This is a heads up, given that I'm completely flipping our historical
>> behavior- I intend to commit this review in a couple days' time
>> without substantial objection: https://reviews.freebsd.org/D24596
>>
>> With this, FreeBSD 13 will not allow read() of a directory fd, which
>> could have previously returned some data from the underlying
>> filesystem in no particular standardized format.
>>
>> This is a still-standards-compliant switch from one
>> implementation-defined behavior to another that's already been adopted
>> in various other popular kernels, to include OpenBSD, MacOS, and
>> Linux.
>>
>> Worth noting is that there's not really one largely-compelling reasons
>> to switch this after so many years (unless you find yourself that
>> irate when you accidentally `cat` a directory), but there are some
>> benefits which are briefly discussed in the commentary around the
>> review along with the history of the current behavior.
>>
>> This change also simplifies filesystem implementations to some extent.
>>
>> Thanks,
>>
>> Kyle Evans
> There is ZERO need for a spurious change at 2 days notice after 42+ years !
>
> "cat ." as been supported since Unix V6 1978 or earlier,
> no problem, even occasionaly useful.


I see it as an attempt at unifying the behavior across filesystems. 42+ 
years ago we didn't have so many of them. And I don't see the age 
argument as valid when fixing inconsistent behavior, rather red herring 
that it hasn't been addressed sooner!


> Most FreeBSD users wont have heard of https://reviews.freebsd.org/D24596
> (& there's only 5 other people's opinions there, apart from proposer,
> & skimming through the impression is far from un-qualified approval.
>
> kevans@ issued arch@ just a couple days notice of intention to commit.
> arch@ is also not widely read, ( I jhs@ added CC hackers@)
>
> Many FreeBSD end users won't even be reading hackers@ (some not
> even announce@,) & would notice just yet another pointless change
> sometime after upgrade.


Are you opposing for the sake of being different, or because you were 
not involved in the decision process, or are you just trying to postpone 
the process a little bit for it to have more scrutiny, or are you 
genuinely against the change and will actively seek for ways to abandon it?


> Do not force all FreeBSD users towards gratuitous change for personal
> preference for Linux behaviour.  Switch to Linux, Or hack a
> personalised shell on BSD that does what you want when you type
> "cat ." If it's later widely popular, use it as proof to re-propose.  No Rush.


The committer explained in the commit request that it's to avoid bugs 
and make the behavior more consistent. The fact that you don't believe 
him and think that he has a hidden agenda (i.e. personal preference 
towards Linux) should not be enough reason to abandon it unless proven.

As a FreeBSD user I am all about less bugs in the software I am using 
and frankly I don't care about "cat ."

GrzegorzJ





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a2ff1b81-2302-883c-dca1-437c04952881>