Re: [experimental PATCH] ovl: get rid of d_real()

From: Miklos Szeredi
Date: Fri Sep 15 2017 - 13:11:20 EST


On Fri, Sep 15, 2017 at 4:07 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Sep 15, 2017 at 03:58:05PM +0200, Miklos Szeredi wrote:
>> And here's the prototype. Poof, d_real() is gone.
>>
>> It definitely has got problems, but just maybe it can be made better than the
>> current mess. It *does* solve the ro-rw inconsistency for normal reads (not
>> mmaps).
>
> ... and makes for mind-boggling amount of opening/closing the files on underlying
> filesystem. Doing that on sodding ->read_iter() is simply wrong.

I said it is a prototype. Caching the open files on the underlying fs
would solve that.

> And you are
> using the wrong credentials for those opens, anyway - it should be creds of opener,
> not reader.

Actually it should be credentials of mounter, as is now done
consistently across overlayfs.

And a bunch of other issues, probably.

Thanks,
Miklos