[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#329414: marked as done (/usr/X11R6/bin/mkdirhier: manpage implies mkdir -p is atomic)



Your message dated Sun, 18 Feb 2007 17:12:34 +0100
with message-id <45D87AF2.6070401@ens-lyon.org>
and subject line Bug#329414: /usr/X11R6/bin/mkdirhier: manpage implies mkdir -p is atomic
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: xutils
Version: 4.3.0.dfsg.1-14
Severity: minor
File: /usr/X11R6/bin/mkdirhier

mkdirhier's manpage implies in the "BUGS" section that mkdir -p is
atomic. However, it clearly isn't:

$ strace mkdir -p /tmp/a/b/c/d/e/f 2>&1 | egrep 'mkdir|chdir'
execve("/bin/mkdir", ["mkdir", "-p", "/tmp/a/b/c/d/e/f"], [/* 34 vars */]) = 0
chdir("/")                              = 0
mkdir("tmp", 0755)                      = -1 EEXIST (File exists)
chdir("tmp")                            = 0
mkdir("a", 0755)                        = 0
chdir("a")                              = 0
mkdir("b", 0755)                        = 0
chdir("b")                              = 0
mkdir("c", 0755)                        = 0
chdir("c")                              = 0
mkdir("d", 0755)                        = 0
chdir("d")                              = 0
mkdir("e", 0755)                        = 0
chdir("e")                              = 0
mkdir("f", 0777)                        = 0


-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.12-1-686-smp
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages xutils depends on:
ii  cpp                    4:3.3.5-3         The GNU C preprocessor (cpp)
ii  libc6                  2.3.2.ds1-22      GNU C Library: Shared libraries an
ii  xfree86-common         4.3.0.dfsg.1-14   X Window System (XFree86) infrastr
ii  zlib1g                 1:1.2.2-4.sarge.2 compression library - runtime

-- no debconf information


--- End Message ---
--- Begin Message ---
The manpage does not clearly say that mkdir -p is atomic. And the point
is that mkdir -p is "much more atomic" than mkdirhier since mkdir -p
does chdir right after mkdir. It reduces possible races a lot.

We could change the way the manpage claims atomicity. But, it would be
just a couple additional vague words. Not worth doing it for a
almost-dead program (it is said in lots of places that mkdir -p should
be preferred).

Brice


--- End Message ---

Reply to: