delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/05/01/18:05:29

X-Spam-Check-By: sourceware.org
Date: Mon, 1 May 2006 18:05:22 -0400
From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: "rm -rf ./foo/" safe to use?
Message-ID: <20060501220522.GB1574@trixie.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <200604261436 DOT k3QEa3AB022090 AT tigris DOT pounder DOT sol DOT net> <Pine DOT GSO DOT 4 DOT 63 DOT 0605011722450 DOT 28555 AT access1 DOT cims DOT nyu DOT edu>
Mime-Version: 1.0
In-Reply-To: <Pine.GSO.4.63.0605011722450.28555@access1.cims.nyu.edu>
User-Agent: Mutt/1.5.11
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Mon, May 01, 2006 at 05:27:16PM -0400, Igor Peshansky wrote:
>On Wed, 26 Apr 2006, Tom Rodman wrote:
>
>> Rightly or wrongly over the years I've refrained from using
>> cygwin to delete large directories; instead, from bash I'll cd
>> to the parent dir, and run:
>>
>>   cmd /c rmdir /s /q MYDIR2DELETE
>>
>> I think I had read something years back about cygwin's inode
>> simulation (sorry to munge up the terminology), being imperfect;
>> so that may have convinced me to not use "rm -rf DIRXXX".
>>
>> So is "rm -rf ./foo/" safe to use?  Is there any danger that
>> anything other than ./foo/ will be deleted?
>>
>> Thanks for any help, I'm mainly just curious.  :->
>
>IIRC, there was one situation in which "rm -rf" ended up removing
>something other than the specified directory: if there were a mount that
>was stale (i.e., pointed to something no longer present), and you tried to
>remove the mount point directory, rm would happily start removing the
>root.  However, I haven't tried this after the change that made mount
>points appear in readdir(), so this may no longer be the case.  For those
>brave enough to try it:
>
>cd /
>mkdir BLAH
>mount c:\NonExistentDir /BLAH
>rm -rf /BLAH
>
>I'd be really interested in knowing whether this is still a problem.
>Disclaimer -- this used to remove the whole c:\cygwin subtree.  You have
>been warned.

I understand why you weren't inclined to test this but, really, I don't
think it's helpful to spread this kind of FUD based on possibly faulty
human recollection.  If you weren't capable of testing it, then at least
a URL which showed the past problem seems called for.

Anyway, I just tested this and my cygwin directory is intact.  strace
shows that "rm" didn't attempt anything remotely like attempting to
remove my cygwin root directory.  It's hard to think of a scenario which
would cause rm to misbehave since a nonexistent mount point would still
translate to a nonexistent windows path and any attempt to unlink or
rmdir that path would fail pretty quickly.

But, now this is part of cygwin lore and I'm sure someone will quote this
email in 2009.

"I have missing files!!!!  Could this be the problem???"

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019