On Fri, Nov 21, 2014 at 5:50 PM, Al Viro [off-list ref] wrote:
On Sat, Nov 22, 2014 at 01:29:05AM +0000, Pádraig Brady wrote:
quoted
quoted
I assume that VFS can handle this correctly if it wants to.
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 * from
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 there's
no multiple hardlinks in the first place).
Does that mean that the current behavior is inconsistent between filesystems.
--
Andy Lutomirski
AMA Capital Management, LLC
On Fri, Nov 21, 2014 at 05:51:23PM -0800, Andy Lutomirski wrote:
On Fri, Nov 21, 2014 at 5:50 PM, Al Viro [off-list ref] wrote:
quoted
On Sat, Nov 22, 2014 at 01:29:05AM +0000, Pádraig Brady wrote:
quoted
quoted
I assume that VFS can handle this correctly if it wants to.
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 * from
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 there's
no multiple hardlinks in the first place).
Does that mean that the current behavior is inconsistent between filesystems.
No. You can always check that they point to the same inode. Which is
precisely what "links to the same file" is about, and which is why rename(2)
had that semantics since way back. _That_ is easy condition to check.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html