From: Matthew Frost <artusemrys@sbcglobal.net>
To: linux kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: ext4 features (salvage)
Date: Tue, 04 Jul 2006 11:20:29 -0500 [thread overview]
Message-ID: <44AA954D.3030009@sbcglobal.net> (raw)
In-Reply-To: <1152013961.3374.78.camel@elijah.suse.cz>
(Stupid mailer + user error = not sent to list)
Petr Tesarik wrote:
> On Tue, 2006-07-04 at 13:35 +0200, Peter Zijlstra wrote:
>> On Tue, 2006-07-04 at 11:22 +0200, Petr Tesarik wrote:
>>> Yes and no. A simple mv is better done in userspace, but what I'd
>>> _really_ appreciate would be a true kernel salvage (similar to the way
>>> NetWare does things). That means marking the file as deleted in the
>>> directory, marking its blocks as deleted but avoiding the use of those
>>> blocks. The kernel would then prefer allocating new blocks from
>>> elsewhere but once the filesystem runs out of space, it would start
>>> allocating from the deleted files area and marking the blocks as
well as
>>> the corresponding files purged.
>>>
>>> Salvaging files would be done with a separate tool. Of course, if you
>>> delete more files with the same name in the same directory, you'd need
>>> to tell that tool which one of them you want to salvage. Yes, I really
>>> mean you'd have more than one deleted file with the same name in the
>>> directory.
>> Wouldn't such a scheme interfere with the block allocator algorithms,
>> and hence increase the risk of fragmentation? Schemes like this realy
>> put my hairs on end,
>
> Yes, they would interfere. That's why I'm not proposing to add them to
> ext4 in the first place.
>
>> 1) if you don't want to lose your data, make backups;
>
> Generally, I agree.
>
>> 2) if I mean to delete a file, I want it gone proper. Silently keeping
>> it about is not unix like;
>
> Yes, this is a problem. Although you would of course have a tool for
> purging the files unconditionally, some programs may need the assumption
> that an unlinked file is gone forever.
>
> Regarding the second clause, well, Linux is not Unix-like in many
> respects and we want it like that. That's a weak argument.
We silently keep files around in many filesystems, at least until
whatever reclamation process runs. The delete event doesn't itself
generally purge the data from disk. However, this is a matter of simple
tools doing simple things. Designing an intentional structure around
not actually deleting deleted files, but keeping them around just in
case may be lauded as "user-friendly", but it is counter-intuitive. It
is cleverness over clarity, good design smothered under feature demand.
In the ways in which it counts, in the sensible, useful, elegantly
simple ways, the "Do one thing and do it well" ways, Linux tries to be
Unix-like. We want stupid programs. A filesystem that decides that it
knows better than the user is not desirable. Filesystem programmers
that decide that they know better than the user are likewise sub-optimal.
Protect my data against accidental failure. Do not protect it against me.
If you have to add a "really delete, I mean it" command, you're breaking
fundamental assumptions.
>
>> 3) don't aid third parties in recovering your removed data. If I want
>> them to have it I'll give it to them.
>
> See 2. Explicit purging is of course possible. (Novell Netware also had
> a "purge" command.)
>
> Anyway, it seems that there is some functionality which many users want
> but which can't be provided in user space:
>
> - if files are moved to the recycle-bin-or-whatever-you-call-it, their
> size is added to disk free space and
Why add non-free space to the free space count, when we're intentionally
keeping those files? If you have to be counter-intuitive, why go the
second counter of hiding it from the user who "wants us to keep and
index his deleted files"?
> - automatically purging least recently deleted files.
>
> Regards,
> Petr Tesarik
Matt
next prev parent reply other threads:[~2006-07-04 16:18 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-01 16:33 ext4 features Thomas Glanzmann
2006-07-01 17:07 ` Tomasz Torcz
2006-07-01 17:47 ` Thomas Glanzmann
2006-07-01 18:09 ` Claudio Martins
2006-07-01 18:59 ` Thomas Glanzmann
2006-07-01 18:17 ` Tomasz Torcz
2006-07-03 9:44 ` Gabor Gombas
2006-07-03 20:22 ` Helge Hafting
2006-07-03 20:55 ` Tomasz Torcz
2006-07-03 21:01 ` Arjan van de Ven
2006-07-03 21:46 ` Jeff V. Merkey
2006-07-03 21:25 ` Diego Calleja
2006-07-03 22:17 ` Alan Cox
2006-07-04 14:45 ` Jan Engelhardt
2006-07-04 16:35 ` Jeffrey V. Merkey
2006-07-04 18:52 ` Jeff Garzik
2006-07-04 19:40 ` Jeffrey V. Merkey
2006-07-05 13:35 ` Lew Palm
2006-07-03 23:01 ` Jeff V. Merkey
2006-07-04 9:14 ` Benny Amorsen
2006-07-05 4:21 ` Bill Davidsen
2006-07-05 5:13 ` H. Peter Anvin
2006-07-05 5:45 ` Jeffrey V. Merkey
2006-07-07 14:12 ` Pavel Machek
2006-07-05 10:38 ` Krzysztof Halasa
2006-07-07 14:10 ` Pavel Machek
2006-07-07 17:45 ` Krzysztof Halasa
2006-07-07 21:30 ` Pavel Machek
2006-07-08 10:52 ` Krzysztof Halasa
2006-07-08 10:55 ` Pavel Machek
2006-07-08 11:19 ` Krzysztof Halasa
2006-07-08 11:23 ` Pavel Machek
2006-07-08 18:45 ` Avi Kivity
2006-07-08 20:24 ` Krzysztof Halasa
2006-07-04 9:22 ` Petr Tesarik
2006-07-04 11:35 ` Peter Zijlstra
2006-07-04 11:55 ` ext4 features (salvage) Petr Tesarik
[not found] ` <80294dc60607040508l1022d164ybe0ba10858e54f0c@mail.gmail.com>
2006-07-04 12:31 ` Petr Tesarik
2006-07-04 12:42 ` Helge Hafting
2006-07-04 16:20 ` Matthew Frost [this message]
2006-07-04 15:25 ` ext4 features Pavel Machek
2006-07-05 4:10 ` Bill Davidsen
2006-07-03 21:46 ` Valdis.Kletnieks
[not found] ` <Pine.LNX.4.61.0607032354170.31747@yvahk01.tjqt.qr>
2006-07-04 14:37 ` Kernel recycler [was: ext4 features] Jan Engelhardt
2006-07-04 11:14 ` ext4 features Krzysztof Halasa
2006-07-04 22:35 ` Frank van Maarseveen
2006-07-04 23:47 ` Claudio Martins
2006-07-03 22:12 ` Alan Cox
2006-07-03 21:59 ` Arjan van de Ven
2006-07-03 23:31 ` ext4 features (checksums) Neil Brown
2006-07-04 1:03 ` Jeff Garzik
2006-07-04 6:09 ` Avi Kivity
2006-07-04 7:02 ` Neil Brown
2006-07-04 8:26 ` Avi Kivity
2006-07-05 11:56 ` Bill Davidsen
2006-07-05 12:06 ` Bill Davidsen
2006-07-05 12:19 ` Avi Kivity
2006-07-08 17:54 ` Bill Davidsen
2006-07-04 8:17 ` Alan Cox
2006-07-04 11:08 ` Thomas Glanzmann
2006-07-04 11:19 ` Krzysztof Halasa
2006-07-04 12:49 ` Helge Hafting
2006-07-05 12:01 ` Bill Davidsen
2006-07-05 12:10 ` Avi Kivity
2006-07-08 18:02 ` Bill Davidsen
2006-07-06 0:36 ` Blatant layering violations (was Re: ext4 features) Valerie Henson
2006-07-06 12:15 ` Xavier Bestel
2006-07-06 17:06 ` Valdis.Kletnieks
2006-07-06 20:02 ` Tom Vier
2006-07-03 21:34 ` ext4 features Bill Davidsen
2006-07-03 21:50 ` Valdis.Kletnieks
2006-07-03 22:04 ` Bruce Ferrell
2006-07-04 14:48 ` Valdis.Kletnieks
2006-07-03 23:00 ` Bill Davidsen
2006-07-04 15:01 ` Valdis.Kletnieks
2006-07-05 2:40 ` Bill Davidsen
2006-07-05 2:47 ` Valdis.Kletnieks
2006-07-04 12:52 ` Helge Hafting
2006-07-06 15:12 ` Ric Wheeler
2006-07-06 17:05 ` Krzysztof Halasa
2006-07-06 17:27 ` Ric Wheeler
2006-07-06 20:52 ` Valdis.Kletnieks
2006-07-07 17:41 ` Krzysztof Halasa
2006-07-07 17:34 ` Krzysztof Halasa
2006-07-04 1:02 ` Theodore Tso
2006-07-04 19:16 ` Thomas Glanzmann
2006-07-04 19:30 ` Valdis.Kletnieks
2006-07-05 12:24 ` Bill Davidsen
2006-07-05 12:59 ` J. Bruce Fields
2006-07-05 13:17 ` Pádraig Brady
2006-07-05 19:33 ` Trond Myklebust
2006-07-05 21:22 ` Bill Davidsen
2006-07-05 21:42 ` Trond Myklebust
2006-07-08 21:04 ` Bill Davidsen
2006-07-10 20:08 ` Trond Myklebust
2006-07-10 22:37 ` Bill Davidsen
2006-07-11 2:36 ` Trond Myklebust
2006-07-21 3:10 ` Bill Davidsen
2006-07-21 12:06 ` Trond Myklebust
2006-07-21 14:36 ` Theodore Tso
2006-07-21 19:02 ` Trond Myklebust
2006-07-22 12:25 ` Theodore Tso
2006-07-05 21:12 ` Bill Davidsen
2006-07-05 21:27 ` linux-os (Dick Johnson)
2006-07-05 21:41 ` J. Bruce Fields
2006-07-06 2:32 ` Bill Davidsen
2006-07-06 2:42 ` Nigel Cunningham
2006-07-06 12:43 ` Trond Myklebust
2006-07-07 2:15 ` Bill Davidsen
2006-07-07 2:30 ` Trond Myklebust
2006-07-07 2:42 ` Ric Wheeler
2006-07-07 2:46 ` Trond Myklebust
2006-07-07 3:16 ` Bill Davidsen
2006-07-07 8:09 ` Bernd Petrovitsch
2006-07-07 14:56 ` Trond Myklebust
2006-07-07 19:52 ` Theodore Tso
2006-07-05 14:04 ` Avi Kivity
2006-07-04 14:36 ` Andi Kleen
2006-07-04 14:43 ` Thomas Glanzmann
[not found] <6tVcC-1e1-79@gated-at.bofh.it>
[not found] ` <6tVcC-1e1-81@gated-at.bofh.it>
[not found] ` <6tVcC-1e1-83@gated-at.bofh.it>
[not found] ` <6tWib-2Ly-7@gated-at.bofh.it>
[not found] ` <6uDdv-7bs-3@gated-at.bofh.it>
[not found] ` <6uDGF-7Nj-47@gated-at.bofh.it>
[not found] ` <6uDQb-8e8-9@gated-at.bofh.it>
[not found] ` <6uDQb-8e8-13@gated-at.bofh.it>
[not found] ` <6uE9y-d1-1@gated-at.bofh.it>
[not found] ` <6uPom-87W-23@gated-at.bofh.it>
[not found] ` <6uRq6-2Dl-9@gated-at.bofh.it>
[not found] ` <6uRJx-30t-5@gated-at.bofh.it>
[not found] ` <6uVN4-AN-9@gated-at.bofh.it>
2006-07-05 14:09 ` ext4 features (salvage) Bodo Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44AA954D.3030009@sbcglobal.net \
--to=artusemrys@sbcglobal.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox