From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: RFC: renameat(): Add a RENAME_REMOVE flag to unlink hardlinks Date: Sat, 22 Nov 2014 01:50:10 +0000 Message-ID: <20141122015010.GW7996@ZenIV.linux.org.uk> References: <546F86F5.6070305@draigBrady.com> <546FA51F.40503@draigBrady.com> <546FAC18.5020200@redhat.com> <546FBAC6.6020407@draigBrady.com> <20141121223018.GV7996@ZenIV.linux.org.uk> <546FE6E1.7040703@draigBrady.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Content-Disposition: inline In-Reply-To: <546FE6E1.7040703-V8g9lnOeT5ydJdNcDFJN0w@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: =?iso-8859-1?Q?P=E1draig?= Brady Cc: Andy Lutomirski , Eric Blake , Linux FS Devel , Linux API List-Id: linux-api@vger.kernel.org On Sat, Nov 22, 2014 at 01:29:05AM +0000, P=E1draig Brady wrote: > > I assume that VFS can handle this correctly if it wants to. >=20 > I was assuming there was a way to distinguish directory entries, > and that's what should be checked first, which is what my > psuedo code patch attempted to show. There isn't, in general. Sure, if you get the same struct dentry * fro= m both lookups, it's the same one. But it's not guaranteed to be true on every fs out there if those are non-directories (and for directories th= ere's no multiple hardlinks in the first place).