Programming projects

From Linux Raid Wiki
Jump to: navigation, search
  • Make ddrescue disks safe

If ddrescue fails to copy a disk completely, it's not a good idea to put the copy back into the array, as it will silently corrupt the data. Unfortunately, you may have little choice. However, ddrescue creates a log of sectors it has failed to copy, and hdparm can "corrupt" sectors so that they will return a read error.

https://linux.die.net/man/1/ddrescue

https://linux.die.net/man/8/hdparm

A utility that can read the log from ddrescue and use the --make-bad-sector option of hdparm to flag the bad sectors as "unreadable" would be great. This would mean that the chances of recovering an array with multiple disk failure is much higher - only if there are bad sectors in the same place on multiple original drives will data be lost. The raid code will be able to tell which sectors are bad and be able to recompute them.

  • Extend the resize functionality.

Not all raid versions can be updated. In particular, you cannot add disks to a raid10

  • Upgrade the superblock version.

Presently, the --update=metadata option only converts a superblock from v0.9 to v1.0. It would make sense to be able to convert v1.1 to v1.2 by moving the superblock. And if a v1.0 array is not a mirror, it would make sense to create a data offset, and be able to convert v1.0 to v1.2.

  • sync_action

Make an active sync save its status when it is interrupted so it can restart where it left off, rather than have to start from scratch. Also allow that status to be set before starting it, so it can scan a section of the array rather than all of it.

Personal tools