Re: [PATCH 12/13] XFS: allow follow_link to often succeed in RCU-walk.

From: Al Viro
Date: Mon Mar 16 2015 - 18:38:07 EST


On Mon, Mar 16, 2015 at 03:43:20PM +1100, NeilBrown wrote:

> - xfs_ilock(ip, XFS_ILOCK_SHARED);
> + if (rcu) {
> + if (xfs_ilock_nowait(ip, XFS_ILOCK_SHARED) == 0)
> + return -ECHILD;

Umm... Is that guaranteed to be safe for inode that is currently going
through xfs ->evict_inode()? struct inode getting freed is RCU-delayed;
->evict_inode() is *not*. It can happen right under you in RCU pathwalk.
--
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/