[CentOS] Data corruption on external hard disk

Sat Aug 4 05:09:06 UTC 2007
Niki Kovacs <contact at kikinovak.net>

Hi,

I'm using CentOS 5 on all my computers here (work + home) and I'm very 
satisfied with it.

Some time ago I purchased a 300 GB external hard drive to store films, 
music, pictures and documents. Since there's no Windows machine around 
here (small South French village, town hall and public library use Linux 
:o)), I replaced the FAT filesystem on the disk by an ext2 filesystem. 
Now it's already almost full with data.

A few days ago I had a problem with the subdirectory Cinema/ containing 
a collection of my favourite movies. I wanted to copy them from the disk 
to my newly purchased laptop (ASUS W6F, already running CentOS 5), when 
suddenly I got a read error on data. I checked in a Terminal what was 
going on, and the file ownerships were all curiously set, like missing 
read flags, no more --x rights on directories, whereas I remember I had 
set them right in the first place. So I started a series of recursive 
chmod's on the directory Cinema/... but I got nothing: the command 
prompt never went back. Unmounting the disk was not responsive neither, 
so I just shut it off.

When I was performing this, it was a very hot day, almost 40°C. The disk 
was really very hot, so I wonder if this might have damaged it.

I could retrieve some of the data on the disk (music, pictures, 
documents), but now, instead of the Cinema/ directory, I have one big 
file that looks like this:
[kikinovak at buzz:/media/disk/Films] $ ls -l
total 692996
-rw-r----- 1 678756852  34537972 148381783526817280 avr 28 01:01 Cinema
drwxr-xr-x 3 kikinovak kikinovak               4096 mai  9 10:07 Anime
drwxrwxrwx 4 kikinovak kikinovak               4096 mai 10 12:25 Series

Notice that the file size is something like petabytes :oD

Is there any way to repair this obviously corrupt data?

Cheers,

Niki Kovacs