Re: [PATCH] VFS: allow ->d_manage() to declare -EISDIR in rcu_walk mode.

From: Dan Carpenter
Date: Fri Aug 01 2014 - 04:34:01 EST


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?

> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/