On Fri, 1 Aug 2014 11:33:18 +0300 Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > On Wed, Jul 30, 2014 at 04:08:33PM +1000, NeilBrown wrote: > > @@ -1110,11 +1110,16 @@ static bool __follow_mount_rcu(struct nameidata *nd, struct path *path, > > * Don't forget we might have a non-mountpoint managed dentry > > * that wants to block transit. > > */ > > - if (unlikely(managed_dentry_might_block(path->dentry))) > > + switch (managed_dentry_rcu(path->dentry)) { > > + case -ECHILD: > > + default: > > return false; > > + case -EISDIR: > > + return true; > > + } > > > > Smatch says that any lines after that switch statement are unreachable. > > Is the "default" intended? Ugh. It was an after thought. The defined error codes are -ECHILD and -EISDIR. But current code actually treats any other negative number as -ECHILD. So I stuck in the default .... which of course was wrong. I need to add case 0: break; I'll send that out on Monday. Thanks heaps. NeilBrown > > > if (!d_mountpoint(path->dentry)) > > - return true; > > + return !(path->dentry->d_flags & DCACHE_NEED_AUTOMOUNT); > > > > mounted = __lookup_mnt(path->mnt, path->dentry); > > if (!mounted) > > regards, > dan carpenter
Attachment:
signature.asc
Description: PGP signature