On Fri, Oct 27, 2023 at 02:36:55PM +0200, Miklos Szeredi wrote:
On Fri, Oct 27, 2023 at 12:40 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
On Wed, Oct 25, 2023 at 03:17:09PM +0200, Miklos Szeredi wrote:
I don't think the Android use case counts as a regression.
Why not? In the changelog for this commit, it says:
There is a risk with this change, though - it might break existing user
space libraries, which are already using flags2 without setting
FUSE_INIT_EXT.
And that's exactly what Android was doing. Not all the world uses libfuse,
unfortunatly.
No, this is not about libfuse or not libfuse. It's about upstream or
downstream. If upstream maintainers would need to care about
downstream regressions, then it would be hell.
I agree, that's not what I'm saying here.
How should Android handle this? Here's how: they have an internal
patch, which conflicts with the patch they want to revert. Well, let
them revert that patch in their kernel. It's not like it's a big
maintenance burden, since it's just a few lines. This is the sort of
thing that downstream maintainers do all the time.
It's a no-brainer, what are we talking about then?
I'm talking about a patch where you are changing the existing
user/kernel api by filtering out values that you previously accepted.
And it was done in a patch saying "this might break userspace", and
guess what, it did!
So why not revert it as obviously you all anticipated that this might
happen?
The "internal" patch from Android was just using the upper values of the
fuse api because they didn't want to conflict with the upstream values
before their code was accepted (and it was submitted already, but not
accepted.)
So how do you want developers to work on changes before they are
accepted with this user/kernel numbering scheme that you have? You just
broke anyone who was using a not-accepted-in-the-tree value, right?