Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > + dsymlink = lookup_one_len(afs_dotatcell, root, sizeof(afs_dotatcell) - 1); > > + if (IS_ERR(dsymlink)) { > > + ret = PTR_ERR(dsymlink); > > + dput(symlink); > > + goto unlock; > > + } > > Just allocate those child dentries and call your afs_lookup_atcell() for them. > No need to keep that mess in ->lookup() - you are keeping those suckers cached > now, so... Good point. I need to do that for the cell mountpoints because someone can arbitrarily create one by triggering a lookup of /afs/<cell>/, but for this pair of symlinks, they're created before the sb goes live. David