Re: d_path() and overlay fs

From: Miklos Szeredi
Date: Fri Mar 20 2015 - 12:54:12 EST


On Fri, Mar 20, 2015 at 04:25:58PM +0000, Al Viro wrote:
> On Fri, Mar 20, 2015 at 05:01:23PM +0100, Miklos Szeredi wrote:
>
> > But it does take care of the majority of f_path users that actually want the
> > covering path.
>
> Bloody bad idea, IMO. I have no objections against adding _helpers_ from
> that patch (seq_file_path(), etc.), but I really don't like adding that
> second struct path there. And it still doesn't fix the issue with
> LSM, etc., so we'll _still_ need to fix it sane way.

Obviously getting rid of the extra path would be good. But we still have lots
of f_path.dentry in filesystems and we need to start with that.

struct dentry *file_dentry(struct file *) ? Implemented how? Rename f_inode to
f_dentry and reimplement file_inode() based on that.

BTW, since nobody is accessing ->f_covering_path directly except the single
f_covering_path() helper, it would be extremely easy to get rid of it later.
That's why I posted this patch, I think it's simple enough to get it into v4.0
which would fix the majority of cases that people complain about.

The thing could even be made dependent on CONFIG_OVERLAY_FS if the addition
actually increases the footprint of struct file (I haven't checked).

Thanks,
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/