From: Rahul on
Linux only allows hard-links to be made to files on the same filesystem. Is
there a structural reason for this or just legacy of the "founding
fathers"? Just curious.

--
Rahul
From: Grant Edwards on
On 2010-02-20, Rahul <nospam(a)invalid.invalid> wrote:

> Linux only allows hard-links to be made to files on the same
> filesystem. Is there a structural reason for this or just
> legacy of the "founding fathers"? Just curious.

There's a structural reason. A link is an association between
a directory entry and an i-node number. I-node numbers are
specific to filesystems. To allow links to files on other
filesystems, the design of the directory entry would have to be
changed to provide an association with a (filesystem,inode)
tuple. AFIAK, there is no general, static way to refer to a
specific filesystem the way there is for an inode to refer to a
specific file within a filesystem.

--
Grant

From: Robert Heller on
At Sat, 20 Feb 2010 18:14:08 +0000 (UTC) Rahul <nospam(a)invalid.invalid> wrote:

>
> Linux only allows hard-links to be made to files on the same filesystem. Is
> there a structural reason for this or just legacy of the "founding
> fathers"? Just curious.

It is structural. Kind of in the same way that while it is possible
for me to have a *picture* of my niece in *my* house (eg a soft link),
while she is at home in *her* house, it is not possible to have her
*physically* present in my house, *while* she is also *physically*
present in in her house.

A hard link is just a directory entry pointing to a specific inode.
Initially when a (normal) file is created, two things happen: an inode
is allocated and a directory entry is created that points to this
inode. It is then possible to create an additional directory entry that
points to this same inode. This is all a 'hard-link' is. Nothing
about the inode *itself* identifies the filesystem, beyond the fact
that the when the inode was fetched, the I/O handle was associated with
the file system. Oh, and there is no difference between the original
link and the new link. Consider:

touch foo
ln foo bar
rm foo

The last two lines above are logicaly *identical* to:

mv foo bar

A soft link is something else. This is a small file whose contents is
a path string. The file has a flag set to indicate that it is in fact a
soft link. The path string can be anything and can reference anywhere
in the logical file tree (same or different file system, local or
remote, etc.).

>

--
Robert Heller -- 978-544-6933
Deepwoods Software -- Download the Model Railroad System
http://www.deepsoft.com/ -- Binaries for Linux and MS-Windows
heller(a)deepsoft.com -- http://www.deepsoft.com/ModelRailroadSystem/

From: J G Miller on
On Sat, 20 Feb 2010 13:06:00 -0600, Robert Heller wrote:

> it is not possible to have her *physically* present in my house,
> *while* she is also *physically* present in in her house.

If you know exactly how much momentum she has, can you be really sure
where she is though? ;)
From: Grant Edwards on
On 2010-02-20, J G Miller <miller(a)yoyo.ORG> wrote:
> On Sat, 20 Feb 2010 13:06:00 -0600, Robert Heller wrote:
>
>> it is not possible to have her *physically* present in my house,
>> *while* she is also *physically* present in in her house.
>
> If you know exactly how much momentum she has, can you be
> really sure where she is though? ;)

As long as we're going all quantum about it...

If you launch her through a double-slit setup, isn't it
possible for her to pass through _both_ her house and your
house?

--
Grant Edwards grante Yow! Isn't this my STOP?!
at
visi.com