On Wed, Oct 2, 2013 at 6:58 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: > > I would suggest it shouldn't be renameat2() but rather renameat3(), i.e. > rename file A -> B, if B exists rename B to C. It may not be desirable > to expose the stale B in the same namespace as A, but still want it to > be possible to scavenge it. Obviously, A=C is a valid subcase. I really *really* prefer to stay with two names. Miklos had an earlier three-name version, and it was hugely more complex, and it does not fit nearly as well in the model. Two directory entries is also what the current rename() effectively always does (clearing one, changing another). So doing the cross-rename model is actually fairly close to a normal rename. A three-way one is not actually at all similar. So I was actually very relieved to see this much simpler and cleaner model, because the alternative really was nasty. This one looks fairly simple and clean and straightforward. The previous was none of that. Linus -- 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