From: "Bradford Smith" <bradford.carl.smith@gmail.com>
To: "Morten Welinder" <mwelinder@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] fully resolve symlinks when creating lockfiles
Date: Fri, 27 Jul 2007 12:50:23 -0400 [thread overview]
Message-ID: <f158199e0707270950m638f6863t8272ca50430c304c@mail.gmail.com> (raw)
In-Reply-To: <118833cc0707261234u59e30bchc274ae29569d8500@mail.gmail.com>
On 7/26/07, Morten Welinder <mwelinder@gmail.com> wrote:
> Why the lstat and that stat in the beginning? That's just asking for race
> condition. readlink will tell you if it wasn't a link, for example.
Here's an example of the sort of thing I'm trying to avoid:
foo is a symlink to bar
bar is a symlink back to foo
readlink() on either one will succeed, but I'll end up with infinite
recursion because I'll resolve foo to bar, then bar to foo, then foo
back to bar, etc.
To avoid craziness like this the OS refuses to follow a chain of more
than a very small number of symlinks. By experimentation, I found the
limit to be 8 on my Linux box.
I am trying to avoid resolving symlinks manually that the OS would
refuse to resolve anyway.
However, I'm quite open to suggestions for a better way to do it.
Thanks,
Bradford
next prev parent reply other threads:[~2007-07-27 16:50 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-15 21:27 git-config: replaces ~/.gitconfig symlink with real file Bradford Smith
2007-07-15 23:30 ` Johannes Schindelin
2007-07-16 9:37 ` Nikolai Weibull
2007-07-16 11:33 ` Bradford Smith
2007-07-16 13:26 ` Bradford Smith
2007-07-16 22:46 ` Junio C Hamano
2007-07-25 16:49 ` [PATCH 0/2] git-config should not replace symlink Bradford C. Smith
2007-07-25 16:49 ` [PATCH 1/2] resolve symlinks when creating lockfiles Bradford C. Smith
2007-07-25 16:49 ` [PATCH 2/2] use lockfile.c routines in git_commit_set_multivar() Bradford C. Smith
2007-07-25 23:35 ` [PATCH 1/2] resolve symlinks when creating lockfiles Junio C Hamano
2007-07-26 16:55 ` [PATCH] use lockfile.c routines in git_commit_set_multivar() Bradford C. Smith
2007-07-26 18:31 ` Johannes Schindelin
2007-07-26 18:48 ` Bradford Smith
2007-07-27 4:30 ` Junio C Hamano
2007-07-27 4:53 ` Junio C Hamano
2007-07-27 9:05 ` Johannes Schindelin
2007-07-27 18:24 ` Bradford Smith
2007-07-26 17:34 ` [PATCH] fully resolve symlinks when creating lockfiles Bradford C. Smith
2007-07-26 18:35 ` Johannes Schindelin
2007-07-26 19:34 ` Morten Welinder
2007-07-27 16:50 ` Bradford Smith [this message]
2007-07-27 7:05 ` Junio C Hamano
2007-07-17 13:56 ` git-config: replaces ~/.gitconfig symlink with real file Johannes Schindelin
2007-07-17 14:27 ` Matthieu Moy
2007-07-17 20:35 ` Fredrik Tolf
2007-07-17 20:48 ` Johannes Schindelin
2007-07-17 13:39 ` Catalin Marinas
2007-07-17 16:09 ` Johannes Schindelin
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=f158199e0707270950m638f6863t8272ca50430c304c@mail.gmail.com \
--to=bradford.carl.smith@gmail.com \
--cc=git@vger.kernel.org \
--cc=mwelinder@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;
as well as URLs for NNTP newsgroup(s).