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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to