Jump to content

[FEATURE REQUEST] Undo Parity Corrections After Parity Check


olympia

Recommended Posts

I believe it happened to many of us that we only realized after performing a correcting parity check that it should've been run as non-correcting.

 

This just happened to me today due to the following reason:

- After a BIOS reset on my Giga-Byte MB I forgot to disable HPA

- Certainly after the first boot one of my disk has got HPA enabled coming up as wrong disk in unRAID

- I disabled HPA in the BIOS and removed HPA from the drive

- unRAID was starting up nicely on the next boot

- Without thinking twice (i.e. it was a stupid move) I starded a correcting parity check what was completed with 258 error corrections - destroying the correct parity (I immediately realized that I should've rebuilt the disk after removing HPA intead of running a parity check)

 

Now since parity has got corrupted there is no way that I am aware of to get this corrected. I actually don't even know if it was somehow possible to identify which files got corrupted (maybe somehow based on the corrected sector numbers?). I imagine the number of affected files are between 1 and 258  :-\.

 

I don't know how feasible it was, but it would be a great feature if one could undo paritiy corrections right after the parity check. I think this should be - at least logically - possible until no new write ocured to the array?

Link to comment

The theory is that upon boot with reset bios, the motherboard created a HPA on one or more disks and then wrote something there, right?

 

If it wrote to more than one disk then not much can be done anyway right?

 

HPA's are created at the very end of the disk so unless your disk was 99.99% full, probably nothing vital in the file system got clobbered.  I suggest you run a 'filesystem check' on that disk.

 

 

Link to comment

Yes, this is exactly what happened. Fortunately it was only 1 disk, so a rebuild from parity could've helped.

 

The corrections were not in the very beginning, but somewhere in the in the first half of the parity check. I think if the HPA crap would've been written to the very end of the disk, then the corrections should've been in the very end of the parity check, no? It is only 128k, so the size in not too much, but if it all spread over the disk, then in worst case it could impact 258 files (since it was 258 sector), or am I mistaken here?

 

...anyhow, do you think undoing corrections would be a useless feature :) or not feasible at all?

Link to comment

As he said, the Gigabyte HPA is at the very end of the drive, so should not be a problem for any users but those few that MUST fill up every sector.  With a ReiserFS partition, it's always best to leave the last 5 or 10GB free, so usually we don't even care what gets written there so long as parity is preserved.  A correcting parity check is normally the right procedure to do.  I really don't think you have ANY file damage.

 

If you had parity corrections in the first half of the check, then they are a different problem, and have nothing to do with the HPA.  Perhaps a recent power outage?

Link to comment

As Tom noted, there's no way to undo a parity correction.    But it's also true that you most likely haven't lost any data as a result of this process => there were simply some modifications resulting from the HPA being created and then deleted that resulted in a few errors on the parity drive ... which have now been corrected.

 

If you're concerned, just verify the data on the drive that had the HPA on it ... either via checksums (if you have them) or comparison to your backups or original source material.

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...