Mail Archives: cygwin/2002/10/21/21:27:34
On Mon, 21 Oct 2002, Igor Pechtchanski wrote:
> Hi,
>
> I've been trying to track this down for a few days, to no avail.
> I have a cvs repository on a samba drive. My OS is Win2k SP2; CYGWIN is
> set to "check_case:strict ntsec notitle nosmbntsec". My cvs is 1.11.0-1
> (I tried both the distribution binary and the one built from the source).
> I also tried both cygwin-1.3.13-2 and the cvs HEAD.
>
> When I attempt to check in a file, I receive the following message from
> cvs:
>
> $ cvs commit -m "" aaaa
> Checking in aaaa;
> /export/home/igor/testrepository/aaaa,v <-- aaaa
> new revision: 1.9; previous revision: 1.8
> done
> cvs commit: failed to remove lock dir /export/home/igor/testrepository/#cvs.lock: Permission denied
> $
>
> The relevant mount is
>
> $ mount | grep export
> \\samba.watson.ibm.com\igor on /export/home/igor type user (binmode)
> $
>
> I'm able to manually remove the directory using 'rm -rf'. Furthermore,
> the following program also works:
>
> $ cat > t.c
> #include <sys/unistd.h>
> void main() {
> const char *dir = "/export/home/igor/testrepository/#cvs.lock";
> int res = rmdir(dir);
> printf ("%d = rmdir(\"%s\")\n", res, dir);
> }
> $ make t
> gcc t.c -o t
> $ ./t
> 0 = rmdir("/export/home/igor/testrepository/#cvs.lock")
> $
>
> As far as I could see, cvs also uses the rmdir from cygwin1.dll. Yet it
> was unable to remove the directory, for some reason. Tracing it under gdb
> showed that GetLastError after RemoveDirectory() returned 5
> (ERROR_ACCESS_DENIED) when called from cvs.
>
> Would anyone have any pointers on how I could debug this further? Thanks,
> Igor
Some more info on this:
I defined CVS_RMDIR to point to my own function that would print a message
and then fork and exec /bin/rmdir with the directory as an argument, and
recompiled cvs. Running cvs commit now resulted in the following:
$ /usr/src/cvs-1.11.0/build/src/cvs commit -m "" aaaa
Checking in aaaa;
/export/home/igor/testrepository/aaaa,v <-- aaaa
new revision: 1.11; previous revision: 1.10
done
Attempting to remove directory '/export/home/igor/testrepository/#cvs.lock'
rmdir: `/export/home/igor/testrepository/#cvs.lock': Permission denied
cvs commit: failed to remove lock dir /export/home/igor/testrepository/#cvs.lock: I/O error
$ /bin/rmdir /export/home/igor/testrepository/#cvs.lock
$ echo $?
0
$
Any ideas on how to proceed with this would be welcome.
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -