On Thu, Nov 09 2017, Jeff Layton wrote: > On Thu, 2017-11-09 at 18:20 +1100, NeilBrown wrote: >> These three patches address two issues: d_weak_revalidate and >> path_mountpoint lookups. >> >> The former is poorly defined and doesn't actually do the one thing >> that it would be useful for it to do. So the nfs implemention >> is improved, the 9p one discarded, and the documentation clarified. >> >> Given this change and recent change to follow_automount() the >> mountpoint path lookup functions are no longer needed. The regular >> path look functions are quite sufficient. >> The second two patches remove this with detailed explanation of why >> it is OK. >> >> Thanks, >> NeilBrown >> >> >> --- >> >> NeilBrown (3): >> VFS/nfs/9p: revise meaning of d_weak_invalidate. >> VFS: remove user_path_mountpoint_at() >> VFS / autofs4: remove kern_path_mountpoint() >> >> >> Documentation/filesystems/porting | 5 + >> Documentation/filesystems/vfs.txt | 11 +-- >> fs/9p/vfs_dentry.c | 1 >> fs/autofs4/dev-ioctl.c | 5 - >> fs/internal.h | 1 >> fs/namei.c | 150 ------------------------------------- >> fs/namespace.c | 2 >> fs/nfs/dir.c | 60 ++------------- >> include/linux/namei.h | 1 >> 9 files changed, 24 insertions(+), 212 deletions(-) >> >> -- >> Signature >> > > I love that diffstat and I think the patches and the logic behind them > look reasonable. I'm the one that added d_weak_revalidate and while it > did fix a problem at the time, it has always seemed a bit of an odd > d_op. > > Your patch does make me wonder if we should consider merging > d_weak_revalidate and d_revalidate back together, and simply require all > the d_revalidate ops vet the flags more thoroughly. This boils down to adding if (flags & LOOKUP_JUMPED) return 1; to the front of almost every d_revalidate function. I'm probably in favour of that, but it isn't an obvious win. I can certainly offer it as a follow-on patch so we can see exactly the impact. Thanks, NeilBrown
Attachment:
signature.asc
Description: PGP signature