This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "rm -rf ./foo/" safe to use?


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]