Think of a similar scope of change to a large codebase you’re familiar with, for frame of reference.
All things programming and coding related. Subcommunity of Technology.
This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
You have misunderstood. No, it wasn’t an existing thing. This is the code that implements it. That’s the point.
The change to fs/namei.c is the code to handle not following symlinks; the rest is some necessary code to create the option and expose it to userland.
(Edit: Rereading I do see a little better what you were saying - I actually looked it up and the code that “originally” implemented not following symlinks, that you’re saying we’re now adding an or statement to activate, was 2 lines to expose the option, 2 lines of white space, and 2 lines to implement not following symlinks).
Yeah I get that but you dig deeper and that implantation was just throwing an error that needs to be handled elsewhere. The “real” code is what is handling that error.
But then we’re back to act acknowledging a meaningful point of having commits that do one thing and do it well and understandably, and I’m back to appreciating the difference between the kernel and our app.
There is no code somewhere else that needed to be written somewhere else to handle the error. It just started working because those lines were added. That’s what I keep saying. That is the nature of the good design I am pleased by to give the example.
I’m such a stubborn person that I literally had a look in namei.c to see what happens from that return, to make sure. I was fairly confident that that’s how it works, just because it’s rare in kernel development to add a feature without the means to trigger it and then add the means to trigger it in a separate patch (why would it not just all go in at once?), but I had a look and here’s what I saw:
Where are you getting your assertion that obviously it’s already implemented somewhere else separate from this patch?