[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwKTJp4giDbT6xHZE_o1bzFwDkBAdPvmB3JTpkAEzgYxA@mail.gmail.com>
Date: Wed, 2 Oct 2013 22:34:13 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: Miklos Szeredi <miklos@...redi.hu>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Al Viro <viro@...iv.linux.org.uk>,
Christoph Hellwig <hch@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>,
David Howells <dhowells@...hat.com>,
"zab@...hat.com" <zab@...hat.com>, Jan Kara <jack@...e.cz>,
"Theodore Ts'o" <tytso@....edu>, Miklos Szeredi <mszeredi@...e.cz>
Subject: Re: [RFC PATCH 0/7] cross rename
On Wed, Oct 2, 2013 at 6:58 PM, H. Peter Anvin <hpa@...or.com> 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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists