bug-coreutils
[Top][All Lists]
Advanced

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

Re: rm && opensolaris && ntfs-3g problem


From: Philip Rowlands
Subject: Re: rm && opensolaris && ntfs-3g problem
Date: Mon, 11 Aug 2008 09:39:36 +0100 (BST)

On Sun, 10 Aug 2008, Andras Barna wrote:

on opensolaris (update 94) can't remove recursively directories.

@osol /ntfs: /usr/gnu/bin/mkdir -p t/t/t/t/t/t/t/t/t/t//t/t///t//t/t/t/
@osol /ntfs: /usr/gnu/bin/rm --version|head -1
rm (GNU coreutils) 6.7
@osol /ntfs: rm -rf t
rm: cannot remove directory `t': Directory not empty
@osol /ntfs: rm -r t
@osol /ntfs: ls t
ls: cannot access t: No such file or directory

This example shows the default "rm" (PATH not shown) failing to remove a directory tree, but succeeding on the second attempt.


@osol /ntfs: /usr/gnu/bin/mkdir -p t/t/t/t/t/t/t/t/t/t//t/t///t//t/t/t/
@osol /ntfs: /data/a/bin/rm --version|head -1
rm (GNU coreutils) 6.12
@osol /ntfs: /data/a/bin/rm -rf t
@osol /ntfs: echo $?
0
@osol /ntfs: ls t
t
@osol /ntfs: /data/a/bin/rm -r t
@osol /ntfs: ls t
t
@osol /ntfs: /data/a/bin/rm -r t
@osol /ntfs: echo $?
0
@osol /ntfs: ls t
t
@osol /ntfs: /usr/bin/rm --version
/usr/bin/rm: illegal option -- version
usage: rm [-fiRr] file ...
@osol /ntfs: /usr/bin/rm -r t
@osol /ntfs: ls t
ls: cannot access t: No such file or directory

This example show GNU coreutils rm v6.12 failing to remove a directory tree; even though the exit status is 0, not all files are deleted. This is a bug.


@osol /ntfs: /usr/gnu/bin/mkdir -p t/t/t/t/t/t/t/t/t/t//t/t///t//t/t/t/
@osol /ntfs: /usr/bin/rm -rf t
@osol /ntfs: ls t
ls: cannot access t: No such file or directory

This example shows /usr/bin/rm successfully deleting a directory tree.

To determine whether this is a bug with GNU rm or interactions between your kernel and the NTFS filesystem, it's necessary to trace the system calls and their return values - hopefully your solaris system has truss installed, in which case you could try to repeat the failing commands given above like so:

$ truss -o rm-trace.txt /path/to/rm -r t

If you are able to interpret the output of truss, please try to identify where GNU rm and solaris rm differ in their system calls, specifically which files are removed with unlink(2). If not, then please just attach the truss output, ideally compressed.


Cheers,
Phil




reply via email to

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