From: James Antill <james@and.org>
To: Andrew Walrond <andrew@walrond.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Symlink indirection
Date: 13 Dec 2002 12:24:15 -0500 [thread overview]
Message-ID: <m33cp1al34.fsf@code.and.org> (raw)
In-Reply-To: <3DFA0C20.3020000@walrond.org>
Andrew Walrond <andrew@walrond.org> writes:
> Hi James.
>
> Thanks for the info; my application is now entirely plausible :)
> And apologies for asking an FAQ. (Google didn't throw up anything useful)
Sorry, this was an error on my part, I shouldn't reply to Richard's
posts until I've calmed down.
> BTW is documented anywhere except the code?
Apart from this mailing list, not AFAIK.
> > The link count is for recursively following symlinks, as the
> > original
>
> > question wanted to know ... and has been discussed on lkml numerous
> > times.
> > Andrew, one extra piece of information you might not know is that
> > the
>
> > above value doesn't come into play when the new symlink is the last
> > element in the new path, then you get a higher value.
> > The full code...
> > if (current->link_count >= max_recursive_link)
>
> > goto loop;
> > if (current->total_link_count >= 40)
> > goto loop;
> > [...]
> > current->link_count++;
> > current->total_link_count++;
> > UPDATE_ATIME(dentry->d_inode);
> > err = dentry->d_inode->i_op->follow_link(dentry, nd);
> > current->link_count--;
> > ...Ie. a link from /a -> /b/c where "b" is a symlink takes the
>
> > "max_recursive_link" value (5 on vanilla kernels) but if "/b/c" was a
> > symlink then you get to use the 40 value.
The last part of the path is still part of the follow_link, and thus
subject to the non-total link_count value. The only times you get the
bigger value is...
/a -> /b/c
/b -> /b.1 -> /b.2 -> /b.3 -> /b.4
/b.4/c -> /b.4/c.1 -> /b.4/c.2 -> /b.4/c.3 -> /b.4/c.4
...here you can open /a even if you'll follow more than ->link_count
links.
--
# James Antill -- james@and.org
:0:
* ^From: .*james@and\.org
/dev/null
next prev parent reply other threads:[~2002-12-13 17:16 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-13 15:06 Symlink indirection Andrew Walrond
2002-12-13 15:11 ` Marc-Christian Petersen
2002-12-13 15:20 ` Andrew Walrond
2002-12-13 17:22 ` Alan Cox
2002-12-13 15:30 ` Richard B. Johnson
2002-12-13 16:17 ` James Antill
2002-12-13 16:34 ` Andrew Walrond
2002-12-13 17:24 ` James Antill [this message]
2002-12-13 16:24 ` Andrew Walrond
2002-12-13 16:26 ` Jesse Pollard
2002-12-13 15:23 ` Richard B. Johnson
2002-12-13 16:41 ` Alfred M. Szmidt
2002-12-13 16:51 ` Jeff Bailey
2002-12-13 17:15 ` Amos Waterland
2002-12-13 17:51 ` Richard B. Johnson
[not found] ` <mailman.1039792562.8768.linux-kernel2news@redhat.com>
2002-12-13 16:16 ` Pete Zaitcev
2002-12-13 16:48 ` Andrew Walrond
2002-12-13 16:55 ` Pete Zaitcev
2002-12-13 17:04 ` Andrew Walrond
2002-12-14 5:57 ` Joseph Fannin
2002-12-14 12:47 ` Andrew Walrond
2002-12-14 13:55 ` John Bradford
2002-12-14 14:00 ` Andrew Walrond
2002-12-14 16:13 ` John Bradford
2002-12-14 19:50 ` Stephen Wille Padnos
2002-12-15 0:41 ` Andrew Walrond
2002-12-23 5:58 ` Thomas Zimmerman
2002-12-13 17:32 ` James Antill
[not found] <fa.eib7vkv.1tju08k@ifi.uio.no>
[not found] ` <fa.cnblikv.qjmuqd@ifi.uio.no>
2002-12-15 7:24 ` junkio
2002-12-15 12:17 ` Andrew Walrond
2002-12-15 12:58 ` John Bradford
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=m33cp1al34.fsf@code.and.org \
--to=james@and.org \
--cc=andrew@walrond.org \
--cc=linux-kernel@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).