On Thu, Apr 02, 2015 at 08:56:20PM -0500, Eric W. Biederman wrote: One general note - I'd probably put a pointer to that sucker into struct mount. For one thing, root-preserving clone_mnt() is a fairly common case. For another, searching for that thing in mnt_put_root() looks wrong. Matter of taste, but... Another thing is that IMO it's better to preallocate that thing in vfs_kern_mount() and free if it turns out to be unused. Simpler cleanup path that way... > - mnt->mnt.mnt_root = root; > + err = mnt_set_root(mnt, root); > + if (err) { > + dput(mnt->mnt.mnt_root); Unless I'm misreading your code, mnt_set_root() does *not* set it on failure, so what's going on here? > #define DCACHE_FALLTHRU 0x01000000 /* Fall through to lower layer */ ^^^^^^^^^^ > +#define DCACHE_MOUNTROOT 0x01000000 /* is root of a vfsmount */ ^^^^^^^^^^ Er... -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html