http://www.perlmonks.org?node_id=885645


in reply to Re^2: locking over the network
in thread locking over the network

To be honest, I thought that the concept of hard links works only within a filesystem.

Yes, that's my understanding as well, which is why my example does its work in the current directory.

I don't know how Windows does it, but with, for example, Samba, you don't have a node number where you could hard-link to, do you?

smbclient(1) seems to support hard links but I really can't say whether perl's link command works on a samba mount.

Replies are listed 'Best First'.
Re^4: locking over the network (SMB link)
by tye (Sage) on Feb 02, 2011 at 03:20 UTC

    Perl's link works on an SMB mount of an NTFS volume (for non-ancient versions of Perl and non-ancient Windows operating systems).

    I'd be more worried about getting the link count. That is a surprisingly complex and expensive operation under NTFS, as I understand it. But simplistic testing shows that it works okay using native Win32 Perl and Cygwin Perl to a NTFS volume over SMB.

    - tye        

      Ah, I see now. It sounds like hard links aren't the best solution here. Thanks for clarifying the costs involved.

        I wouldn't disqualify hard links. stat itself is surprisingly complex and expensive under Windows Perl and if you haven't just given up on using Windows Perl, then it probably isn't expensive enough to be a show stopper for other uses (since stat gets used willy nilly when using Perl). (stat emulation is so slow that git implemented Windows-specific replacements in order to make a lot of stuff go noticeably faster.)

        - tye