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/