[ale] Should filesystems have undelete (was Get paid for undeleteon ext3 help)

Geoffrey esoteric at 3times25.net
Fri Aug 23 09:45:22 EDT 2002


Michael Hirsch wrote:
> On Thu, 2002-08-22 at 20:26, Joseph A. Knapka wrote:
> 
>>"James P. Kinney III" wrote:
>>
>>[scissors of brevity]
>>
>>
>>>So, at this point, I don't recommend ANY journaling file systems for
>>>anyone without a good, up and running backup system. In unix, rm is a
>>>command, not a request!
>>
>>Indeed. I must say, I find the entire notion of an "undelete"
>>function somewhat perverse. Why would one expect one's explicit
>>order to *remove some files and free the occupied disk space*
>>to be implicitly ignored by the system? Even on systems where
>>file undeletion "works", like Windows et al, it only works
>>if you get lucky and the space in question hasn't been
>>reused for anything. If you *want* your "rm" command to
>>be symbolic, then alias it to something that moves the
>>files somewhere instead. Possibly that should be the
>>default on desktop distros (but then you'd have millions
>>of, "I just deleted ten gigabytes of crap off of my
>>disk, but I still have no free disk space, what's up?"
>>helpesk calls... if it ain't one thing it's another).
>>I expect "delete, but don't *really* delete" has
>>fragmentation and thus performance consequences, as
>>well.
> 
> 
> I consider this attitude to be very small minded.  The world is larger
> than computers.  When I throw something away at home (the physical
> equivalent of "delete" I can get it back by reaching into the waste
> basket.  After a while I need to get it from the garbage can.  Later
> still, if I really want it, I might be able to search through the town
> dump.  If I wait too long, it really is gone.

I think we need the ability to retrieve deleted files.  It's a mindset 
though.  I cut my computer teeth on Unix systems, so I'm pretty much 
used to it being gone and difficult to retrieve when I rm something. The 
garbage comparison is a bit of a stretch though.  If I through something 
in the trash on Thursday, I'll likely have access to it for a while.  If 
I toss it on Wednesday night, it's pretty much gone, the garbage is 
picked up early Thursday.  As for the town dump, you'd have a better 
chance of retrieving Drew's files from his ext3 system then locating 
anything at the dump.  Not to mention the fact they're not going to let 
you dig around in that stuff anyway, for your safety and there's (legally).

> 
> If I really want to destroy something I have to go to unusual measures,
> like tossing it in the fire or passing it through the shredder.  Even in
> the more abstract art of writing, I can usually see what I just erased.

I don't know about that.  I shred every piece of junk mail I get along 
with a large amount of other mail and work stuff.  Putting that puzzle 
together would be quite a problem.  It's gone.

> 
> It is human nature to make mistakes and/or change you mind.  Well
> designed computer systems need to account for this.  Computers should
> adjust to people, not vice versa.

Granted, and I'll agree.  There are solutions in both Linux and 
non-Linux environments that protect the user from themselves.  Not to 
mention the fact that anyone using a computer for anything should back 
stuff up.  We know NO ONE does that.  I noted that I unfortunately 
removed a number of files yesterday which I was able to retrieve with an 
undel command.  I was fortunate in that they resided on a partition 
that's used for virtually nothing else other then this specific work 
stuff.  I was able to unmount it and retrieve my files quickly.  On the 
other hand, I do have a backup of this data, although it was virtually a 
day old, so I would have lost all the work I'd done yesterday.

> 
> It's kinda funny--Unix editors were the first to allow for this.  vi and
> Emacs had many levels of undo long before it became standard in PCs. 
> But the Unix file systems have been very weak in this area.  There have
> been versioning filesystems that would keep a history of each
> file--where have they gone and why don't any of the Unix systems to
> that?

I guess it's a balance between the effort required and what's gained. 
They could provide everyone a parachute on commercial airlines, but they 
don't.  Why?  First and foremost I'd guess because they don't want to 
scare the hell out of you.  Further, the chances of folks deploying such 
a device when needed would be slim.  They do let you know about the 
floatation devices which, in my mind would be about as useful as a 
parachute, particularily with about 99% of the the US continental flights.

> 
> I think ideally all the basic file manipulation commands should be
> reversible.  "rm foo" should make foo invisible.  If you really need the
> space you should issue a "dump garbage" command that will flush out all
> the space reserved for undelete.  Also, as the disk fills up the
> undelete space should get used.  You know, this sounds kinda like the
> way linux deals with virtual memory.  You keep stuff around cause you
> might need it again, but automatically reclaim the space on a LRU basis.

That's a tough call.  You'd likely have a novice complain they couldn't 
retrieve what they were looking for because it was the oldest goods and 
was trashed.  The comparions to VM is not really that accurate either, 
because if you can't find it in VM you can locate it on the drive.

I don't know that I'd muck with rm, there are user level tools that have 
been created for these purposes.  I personally found it a hassle when, 
after an upgrade, rm was always asking me if I was sure I wanted to 
remove anything I tried to remove.  Turns out, they had set it up as an 
alias to 'rm -i'   I shortly corrected their oversight.

In my mind, this whole discussion started over Drew's mishap.  I'm sorry 
he lost his data.  But, there are two devices in place to protect him 
from this, backups and a user friendly removal approach, which all Linux 
dists. now provide in some manner of speaking.  The bottom line, is he 
did not heed the constant directions of being a responsible user and 
backing up his system or using the appropriate protective devices in 
place.  I snafu'ed good yesterday with my fat fingering of the rm 
command.  Prior to being able to retrieve my files successfully, I was 
pissed, but I didn't blame the tool.  It was my fault.  People have car 
accidents.  Sure, it wasn't on purpose, there was a mistake.  Most folks 
protect themselves with insurance.  But, it's still a hassle and some 
folks don't afford themselves that protection.  We all make decisions 
regarding such issues.

> 
> There are versioning systems like CVS that do some of this, but the user
> has to explicitly call them--I want something that is the default
> behavior.  Also, CVS repositories only grow and never recycle their
> bits; even a "removed" file never gives up it's space in CVS.  I want a
> system that starts giving space back as it is needed.

That's quite a request, so when will you be done building it? :)  There 
are all kinds of issues this could draw.  I'll just throw out one, how 
do you know what to 'give back' and when it's okay to do so?  Other than 
notifying the user to backup the undelete area or they can't do anymore, 
I don't know what the answer is.


-- 
Until later: Geoffrey		esoteric at 3times25.net

I didn't have to buy my radio from a specific company to listen
to FM, why doesn't that apply to the Internet (anymore...)?


---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
sent to listmaster at ale dot org.






More information about the Ale mailing list