public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Vasyl Vavrychuk <vvavrychuk@gmail.com>
Cc: Patrick Goetz <pgoetz@math.utexas.edu>, linux-nfs@vger.kernel.org
Subject: Re: Hard linking symlink does not work
Date: Fri, 6 Nov 2020 16:46:40 -0500	[thread overview]
Message-ID: <20201106214640.GC26028@fieldses.org> (raw)
In-Reply-To: <CAGj4m+5j1ZK+=-4w6LpRLsnEPvi=UfpO3r8PruRtcJib9gbYyQ@mail.gmail.com>

On Wed, Oct 28, 2020 at 10:53:20AM +0200, Vasyl Vavrychuk wrote:
> Thanks for replies about my problem. It is actually a practical one...
> 
> I need to compile Yocto BSP which builds only under older
> distributions. For convenience I have established a Vagrant virtual
> machine which uses NFS to share workspace with the host machine.
> 
> Now coming back to hardlinking symlinks.
> 
> Yocto build system uses hardlinks to prepare sysroot for packages, and
> symlinks are part of that sysroot provided by other packages.

For what it's worth, I can't reproduce the problem, linking a symlink
works fine for me.

What's your server?  (OS, version, exported filesystem?)

--b.

> 
> On Tue, Oct 27, 2020 at 10:03 PM Patrick Goetz <pgoetz@math.utexas.edu> wrote:
> >
> >
> >
> > On 10/27/20 12:12 PM, J. Bruce Fields wrote:
> > > On Fri, Oct 23, 2020 at 01:13:02PM +0300, Vasyl Vavrychuk wrote:
> > >> I have found that hard links for regular files works well for me over NFS:
> > >>
> > >> $ touch bar
> > >> $ ln bar tata
> > >>
> > >> But if I try to make hard link for symlink, then it fails:
> > >>
> > >> $ ln -s foo bar
> > >> $ ln bar tata
> > >> ln: failed to create hard link 'tata' => 'bar': Operation not permitted
> > >
> > > Huh.  I'm not sure I even realized it was possible to hardlink symlinks.
> > > Makes sense, I guess.
> >
> > What's even the use case for hard linking a symlink?  That sounds like
> > asking for trouble...
> >
> >
> > >
> > > I think my first step debugging this would be to watch wireshark while
> > > attempting the "ln", and see what happens.  That should tell us whether
> > > it's the client or server that's failing the operation.
> > >
> > > --b.
> > >
> > >>
> > >> I am using NFSv4 with Vagrant, here is mount entry:
> > >>
> > >> 172.28.128.1:PATH on /vagrant type nfs4
> > >> (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=IP,local_lock=none,addr=IP)
> > >>
> > >> I have also verified that rpc-statd is running on host.
> > >>
> > >> Host machine is Ubuntu 18.04 with NFS packages version 1:1.3.4-2.1ubuntu5.3.
> > >>
> > >> Will appreciate help on this.
> > >>
> > >> Thanks,
> > >> Vasyl

      reply	other threads:[~2020-11-06 21:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-23 10:13 Hard linking symlink does not work Vasyl Vavrychuk
2020-10-27 17:12 ` J. Bruce Fields
2020-10-27 20:03   ` Patrick Goetz
2020-10-28  8:53     ` Vasyl Vavrychuk
2020-11-06 21:46       ` J. Bruce Fields [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201106214640.GC26028@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=pgoetz@math.utexas.edu \
    --cc=vvavrychuk@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox