I have a Toshiba 500GB USB2.0 external drive which started misbehaving in the last few days.
I got some corrupted files and some delays during file operations.
So I suspect bad sectors.
I'm going to use fsck -f -c -c /dev/sdc5 (read-write) or fsck -f -c /dev/sdc5 (read-only).
Should I perform a read-write check or read-only should be sufficient to mark bad blocks?
If I interrupt fsck before completion, will it add found bad blocks to inode so it will skip them next time?
Or is it advised to let it finish in one pass?
Edit: I should add that the drive contains two partitions: the first one is NTFS (50GB) for sharing files with Windows computers and has been checked with chkdsk for bad sectors (it's clean). The second one is formatted with ext4 and I used it for backing up my files. The drive is currently empty and fresh formatted.
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7ff5863c
Device Boot Start End Blocks Id System
/dev/sdc1 * 63 102398309 51199123+ 7 HPFS/NTFS
/dev/sdc2 102398310 976768064 437184877+ 5 Extended
/dev/sdc5 102398373 976768064 437184846 83 Linux