[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#8850: mkdir inside symlink creates wrong directory with relative par
From: |
Jim Meyering |
Subject: |
bug#8850: mkdir inside symlink creates wrong directory with relative parent |
Date: |
Mon, 13 Jun 2011 16:55:32 +0200 |
Oldřich Jedlička wrote:
> I was trying to search for any description helping me understand in
> what I see, but actually I didn't find any, so I'm here. I discovered
> it by using automake-1.11, because it uses relative paths a lot. So my
> simplified testcase is as follows:
>
> Have a directory structure x/y and x/z/a. Have a symbolic link from
> x/y/z that points to x/z.
>
> mkdir -p x/y
> mkdir -p x/z/a
> ln -s ../z x/y/z
>
> Now go into x/y/z/a and try to create directory like that:
>
> cd x/y/z/a
> mkdir ../dir_xyz
> mkdir ../../dir_xy
> mkdir ../../../dir_x
>
> I would expet that there would be a directory like this:
>
> x/dir_x
> x/y/dir_xy
> x/y/z/dir_xyz (x/z/dir_xyz)
>
> But the result is completely different:
>
> dir_x
> x/dir_xy
> x/y/z/dir_xyz (x/z/dir_xyz)
>
> So when you want to create a directory in the parent structure from
> within the symbolic link, you will fail in doing so, because the
> symbolic link would be resolved during walking through parents, so you
> can get to completely different tree while creating your directory. It
> looks like a bug, because it is nowhere documented to behave like that
> (and the behaviour is strange by itself).
>
> Verified on Debian 4.0/RedHat 5.4 with coreutils 5.97 and on Gentoo
> with coreutils 8.12.
Loic explained that this is not a bug. (Thanks, Loic.)
I'm marking this issue as closed.