Theodore Tso <tytso@xxxxxxx> writes: > On Mar 2, 2011, at 10:24 PM, Al Viro wrote: > >> We have an interesting problem. Consider the following sequence >> of syscalls: >> mkdir("foo", 0777); >> mkdir("bar", 0777); >> fd1 = open("foo", O_DIRECTORY); >> fd2 = open("bar", O_DIRECTORY); >> rename("foo", "bar"); /* kill old bar */ > > I must be missing something. I didn't think you could rename on > top of a directory and have the directory disappear. Don't you get > an error in that case? rename is required to be able to move a directory over an empty directory, atomically. > What happens if bar contains files? That's an error. Andreas. -- Andreas Schwab, schwab@xxxxxxxxxx GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html