[Top][All Lists]

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

Re: Shred: Add recursion operations [PATCH]

From: Eric Blake
Subject: Re: Shred: Add recursion operations [PATCH]
Date: Fri, 09 Dec 2011 16:56:19 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111115 Thunderbird/8.0

On 12/09/2011 04:27 PM, Amr Ali wrote:
> Purpose is what drives my modifications towards shred. If you do work on
> multiple files (and that *does* have a high probability), with a simple 
> command
> line regular expression (e.g. './*') you are in fact recursing over files of 
> the
> first level of depth of the current directory node, which conditionally, 
> having
> it recurse on all directory nodes on multiple levels is only an expected
> behavior

If you want to recurse over multiple layers, your first thought should
be to use 'find', not '-r' - by having 'find' at the forefront of your
toolbox, you will be able to solve your recursion issues for a LOT more
tools, not just limited to shred, and in a manner portable to POSIX (and
thus usable on more systems) rather than relying on GNU extensions.

Furthermore, have you not been listening to our arguments that shred on
files is worthless on most modern file systems?  It doesn't destroy data
unless you do it over entire partitions.  Making shred recursive would
be a bad move, because it would give users a false sense of security
(oh, I can shred lots of files in one command line), when in reality,
doing a recursive shred is just disk churn.  If you want lots of files
properly shredded, it is faster, and more reliable, to run something
like 'shred /dev/sdb2' over the entire partition, than it is to try to
recurse over the files on /dev/sdb2 and shred each in turn.  But that
still means you have to plan ahead - if you anticipate needing to shred
lots of files, create a disk partition for those files.

> Before taking a dive at coreutils source code, which was my very first time, I
> always enjoyed just using the *functionalities* it does provide, I knew how 
> they
> do work at very low level details, but this is not the drive behind using 
> them.
> It's simply the desired quantifiable result. The low level technical
> particularities are almost always expected to be abstracted away from usage.

The beauty of free software is that you are free to make your patch, and
use it yourself, even if we don't take it upstream.  I'm glad it was a
positive learning experience for you, even if we don't take this
contribution.  And hopefully you will still find other things to
contribute that do fit in with the coreutils philosophy.

>> Finally, if you DO manage to convince me, then we would need copyright
>> assignment before your patch could be applied.
> Should I use `assign.change.manual`? if so which email I should be sending 
> this
> to, after signing it? That of course if I did convince you.

Use request-assign.future, and send the initial coordination mail to
assign AT gnu DOT org.  From there, they will help you with the
additional paperwork, and if you are a US resident, it is now possible
to do things electronically instead of snail mail.

Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

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