Boost logo

Boost :

Subject: Re: [boost] [filesystem] proposal: treat reparse files as regular files
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2015-07-28 07:07:23


On 28.07.2015 04:33, Paul Harris wrote:
> I think we are not on the same page. Let me try and refocus the
> discussion...
>
> With symlinks, there is more than one access point to the same file
> content. (ie multiple file names to the identical content).
>
> That makes symlinks fundamentally different to regular files. And it's why
> they are treated differently. Eg don't back up content twice.
>
> Is that statement correct?

As Niall already commented, that's not correct. What you described is
more like a hardlink [1].

You can easily spot the difference if you rename or delete the file the
link points to. The symlink will keep pointing to the old file (thus
being a dangling symlink) while the hardlink will still be pointing to
the file content.

A hardlink is actually not any more special than a regular file. Put
simply, from the filesystem perspective any file is a name pointing to
the content. When you create a new file, there's only one such name.
When you create a hardlink, you create another name pointing to the same
content and increment the reference count to the content. The two names
are equivalent, and the content exists as long as there are names
referencing it.

[1] https://en.wikipedia.org/wiki/Hard_link


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk