Data Loss Issues in Leopard Explained

Corrupt DriveFor those of you who copy files from one drive to another, this story is for you. A bug has been found in Leopard that can destroy your data.

Tom Karpik writes:

Leopard’s Finder has a glaring bug in its directory-moving code, leading to horrendous data loss if a destination volume disappears while a move operation is in action. I first came across it when Samba crashed while I was moving a directory from my desktop over to a Samba mount on my FreeBSD server.

It appears that moving files within your own directory is fine, but moving to other directories can be troublesome if the volume you send to is interrupted. This includes all exterior storages devices: USB keys, External Hard drives, Remote Servers, etc. If you move a file that takes enough time for a disconnect to happen, the only data that remains is the information that has already been copied to the remote server. The source files are then lost.

It is my understanding that the problem happens if you move the file, not if you copy it. A move (where the original is deleted after copy occurs) is executed in the Finder if you hold down the Command button during the drag-and-drop.

Daring Fireball’s John Gruber advises to copy all your files instead of moving them, and delete after the copy has occurred. But this is something that can be detrimental to a lot of users. Leopard deletes the source material even if the move hasn’t completed successfully. That doesn’t sound good.

Furthermore, MacRumors is reporting that a certain drive that has been installed in a large amount of Macbooks and Macbook Pros contain hard drives which “[cause] gouges in the hard drive platter.” Once again, perhaps Time Machine wasn’t a feature, but an insurance plan for Apple’s Lawyers!

Comments

5 Responses to “Data Loss Issues in Leopard Explained”

  1. Bill Shirley on November 7th, 2007 10:43 am

    “It appears that moving files within your own directory is fine, but moving to other directories can be troublesome if the volume you send to is interrupted.”

    Shouldn’t that state “other drives”?

    “Leopard deletes the source material even if the copy hasn’t completed successfully. That doesn’t sound good.”

    Leopard doesn’t delete the source on a copy, it deletes it on a move.

  2. Taylor Sternberg on November 7th, 2007 3:56 pm

    By writing “directories”, I was using the technical term for drive directories. Each drive has it’s own directory.

    And the article has been corrected to state that a move deletes the source automatically, not a copy.

  3. En que consiste el bug de pérdida de datos de Leopard on November 8th, 2007 6:12 am

    [...] a MacApper Comparte este [...]

  4. Apple Blog » Blog Archive » Leopard: Data Loss, Firewalls, & Incompatible Programs on November 9th, 2007 9:33 am

    [...] of us who went out and bought it on day one knew we were taking a risk. There have been reports of data loss, and various applications perhaps acting strangely. Good thing I started using Time Machine as soon [...]

  5. Sven Rafferty on November 9th, 2007 5:21 pm

    This is why you never perform a move. Like backing up your data, when “moving” data to another drive, always use the copy command just in case something goes wrong…like say, your drive going “poof!” while copying data to it. :) Windows has taught me this CYA method very well. :)

Feel free to leave a comment...
and oh, if you want a pic to show with your comment, go get a gravatar!