On Tue, Mar 21, 2017 at 8:02 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Tue, Mar 21, 2017 at 11:44 AM, Omar Sandoval <osandov@xxxxxxxxxxx> wrote: >> >> This is actually the exact same check we have in vfs_rename(): > > Hmm. That looks bogus too exactly due to the overlayfs issues. Oh > well. I guess people don't actually use overlayfs and care. What overlayfs issues? Overlayfs behaves exactly like a normal filesystem wrt negative dentries. If you are referring to whiteouts, they are not visible on the overlay layer (remember overlay duplicates the dentry tree of the merged dentry trees of the underlying layers). >> I tried to keep the same semantics as rename(). > > Ok, it does seem to match the non-exchange rename(), which I guess is > what we want. It does worry me a bit that we only check for > "may_delete()" even though we end up replacing it with a new one, but > apparently those semantics indeed aren't new. I think this is historic. may_delete() was doing the same as may_create() and more. Doesn't look like that's still strictly true, so it might make sense to add a may_replace() operation that does both. Thanks, Miklos