Alex Tomas wrote: > interesting .. > > I thought VFS doesn't allow concurrent operations. > if unlink goes first, then link should wait on the > parent's i_mutex and then found no source name. > > thanks, Alex Well... I was wondering that myself, whether this race should even happen. But the bottom of do_unlinkat looks like: mutex_unlock(&nd.dentry->d_inode->i_mutex); if (inode) iput(inode); /* truncate the inode here */ exit1: path_release(&nd); exit: putname(name); return error; so I think it's possible that link can sneak in there & find it after the mutex is dropped...? Is this ok? :) It's certainly -happening- anyway.... -Eric - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html