gnu-arch-users
[Top][All Lists]
Advanced

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

[Gnu-arch-users] [BUG] tla changes crashes when changing a link to a fil


From: Matthieu Moy
Subject: [Gnu-arch-users] [BUG] tla changes crashes when changing a link to a file on NFS
Date: Sat, 31 Jul 2004 14:09:03 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (gnu/linux)

Steps to reproduce :

Create a project with a symlink, delete this symlink and create a file
with the same name.

On a local disk,

$ tla changes
* looking for address@hidden/c--b--0--patch-2 to compare with
* comparing to address@hidden/c--b--0--patch-2
lf bar
$  strace tla changes --diffs | & grep -e '^rmdir' -e '^mkdir' -e '^unlink'
mkdir("/local/moy/tmp/links/,,address@hidden", 0777) = 0
mkdir("/local/moy/tmp/links/,,address@hidden/removed-files-archive", 0777) = 0
mkdir("/local/moy/tmp/links/,,address@hidden/new-files-archive", 0777) = 0
mkdir("/local/moy/tmp/links/,,address@hidden/patches", 0777) = 0
unlink("/local/moy/tmp/links/,,address@hidden/original-only-dir-metadata") = 0
unlink("/local/moy/tmp/links/,,address@hidden/modified-only-dir-metadata") = 0
rmdir("/local/moy/tmp/links/,,address@hidden/removed-files-archive") = 0
rmdir("/local/moy/tmp/links/,,address@hidden/new-files-archive") = 0
unlink("/local/moy/tmp/links/,,address@hidden/patches/bar.link-orig") = 0
unlink("/local/moy/tmp/links/,,address@hidden/patches/bar.modified") = 0
rmdir("/local/moy/tmp/links/,,address@hidden/patches") = 0
unlink("/local/moy/tmp/links/,,address@hidden/orig-dirs-index") = 0
unlink("/local/moy/tmp/links/,,address@hidden/orig-files-index") = 0
unlink("/local/moy/tmp/links/,,address@hidden/mod-dirs-index") = 0
unlink("/local/moy/tmp/links/,,address@hidden/mod-files-index") = 0
rmdir("/local/moy/tmp/links/,,address@hidden") = 0
$

With the exact same local tree on an NFS directory :

$ tla changes
* looking for address@hidden/c--b--0--patch-2 to compare with
* comparing to address@hidden/c--b--0--patch-2
lf bar
unable to rmdir "/home/moy/tmp/links/,,address@hidden/patches" (Directory not 
empty)
PANIC: I/O error
$ rm -rf ,,address@hidden/
$ strace tla changes --diffs | & grep -e '^rmdir' -e '^mkdir' -e '^unlink'
rmdir("/home/moy/tmp/links/,,address@hidden/patches") = 0
unlink("/home/moy/tmp/links/,,address@hidden/orig-dirs-index") = 0
unlink("/home/moy/tmp/links/,,address@hidden/orig-files-index") = 0
unlink("/home/moy/tmp/links/,,address@hidden/mod-dirs-index") = 0
unlink("/home/moy/tmp/links/,,address@hidden/mod-files-index") = 0
rmdir("/home/moy/tmp/links/,,address@hidden") = 0
mkdir("/home/moy/tmp/links/,,address@hidden", 0777) = 0
mkdir("/home/moy/tmp/links/,,address@hidden/removed-files-archive", 0777) = 0
mkdir("/home/moy/tmp/links/,,address@hidden/new-files-archive", 0777) = 0
mkdir("/home/moy/tmp/links/,,address@hidden/patches", 0777) = 0
unlink("/home/moy/tmp/links/,,address@hidden/original-only-dir-metadata") = 0
unlink("/home/moy/tmp/links/,,address@hidden/modified-only-dir-metadata") = 0
rmdir("/home/moy/tmp/links/,,address@hidden/removed-files-archive") = 0
rmdir("/home/moy/tmp/links/,,address@hidden/new-files-archive") = 0
unlink("/home/moy/tmp/links/,,address@hidden/patches/bar.link-orig") = 0
unlink("/home/moy/tmp/links/,,address@hidden/patches/bar.modified") = 0
rmdir("/home/moy/tmp/links/,,address@hidden/patches") = -1 ENOTEMPTY (Directory 
not empty)

But, surprisingly,

$ find ./,,address@hidden/
./,,address@hidden/
./,,address@hidden/patches
./,,address@hidden/orig-dirs-index
./,,address@hidden/orig-files-index
./,,address@hidden/mod-dirs-index
./,,address@hidden/mod-files-index

I could reproduce this both copying the tree to an NFS directory and
accessing the same tree through NFS.

The problem occurs both with and without a revision library.

tla commit crashes as well.

--
Matthieu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]