Re: [RFC] readlink()-related oddities

Al Viro
2015-11-20T22:33:47Z

On Fri, Nov 20, 2015 at 09:59:05AM +0000, David Howells wrote:

> There's an AFS userspace command that could be used to query a mountpoint that
> was going to use it. However, I suspect readlink() will now always trigger
> the automount.

It won't, actually. All we are passing to user_path_at_empty() is
LOOKUP_EMPTY, so for the final component we'll have
if (!(nd->flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY |
LOOKUP_OPEN | LOOKUP_CREATE | LOOKUP_AUTOMOUNT)) &&
path->dentry->d_inode)
return -EISDIR;
in follow_automount() trigger and follow_managed() will turn that -EISDIR
into 0. IOW, readlink(2) does work on those, same as stat() (since Sep 2011).

Sigh... OK, let's leave it for now; ->open() for those guys is completely
bogus, AFAICS, but that's local bogo^Wbusiness.