bug-coreutils
[Top][All Lists]
Advanced

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

bug#10055: [sr #107875] BUG cp -u corrupts 'fs'' information if interupt


From: Linda A. Walsh
Subject: bug#10055: [sr #107875] BUG cp -u corrupts 'fs'' information if interupted; can't recover on future invoctions
Date: Tue, 15 Nov 2011 19:33:04 -0800
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.24) Gecko/20100228 Lightning/0.9 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666

   [Thought I send out rspns to this, but can't find it in my outgo,
   so...recomposing/sending,
   sorry for delay)

On 11/15/11 12:46, Linda A. Walsh wrote:


    Better than leaving *doo doo* in a file

Sometimes, but not always.  I can think of plausible cases where I'd
rather have a partial copy than no copy at all.  As an extreme example,
if I'm doing 'cp /dev/tty A', I do not want A removed on interrupt
even if A has already been truncated and overwritten,
as A contains the only copy of the data that I just typed in by hand.

   =====
   A A A  Um...yeah, you could try to apply the idea in general, but it
   might not have
   unforeseen side effects like you are demonstrating.A A  Why don't we
   focus on the specific problem mentioned which was using it in the
   context of
   the "-u" flag, (and with -a/-r and/or a wildcard), where you expect it
   to update
   contents of 'Dst' with 'Src'.
   In that case, you get interrupt, and you end up with a truncated file
   in Dst, that has
   some (not even the DT of the src file, but the DT the file was opened
   (or more likely
   closed) DateTime that will guarantee, that a correct copy will never
   get updated
   over the now, destroyed, bogus copy.A
   Not only that, but weeks later, when you go though your backup dir, and
   wonder
   why some file 'x' is only 1/10th the size of the rest of the similar
   backups, .... your
   original can be very gone...(not that 1 of the multiple other backups
   might not sub-in, but
   that's not the point!)...A  You don't want the partially copied update
   -- that has already
   destroyed an original, to now leave a turd in place so that no future
   cp -uav will correct
   the problem....
   Though, (I'm sure you'd love to see this in 'cp', (*cough*), cp could
   check file sizes and see
   if the target is smaller and if so.. assume, if the DT's were equal
   that the file cp was
   interrupted...and finish it...
   Actually that might not be a bad idea...

But we could add an option to 'cp' to have this behavior.
Perhaps --remove-destination=signal?  That is --remove-destination
could have an optional list of names of places where the destination
could be removed, where the default is not to remove it, and
plain --remove-destination means --remove-destination=before.

----
    I think you misunderstood the problem.

Perhaps I did.  But could you explain the problem then?  For example,
how would the proposed "cp --remove-destination=signal A B"
not address the problem?

   Well, if it were the default case, sure, but if default is to trash
   files, that's bad.


reply via email to

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