Misc patches regarding corrupt rindex handling
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest0 of 11 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 11 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [Cluster-devel] [gfs2-utils PATCH 00/11] Misc patches regarding corrupt rindex handling
Hi Bob,
Quoted 16 lines · Bob Peterson
Hi,
These patches are probably best handled as separate items, rather than as a set, but I didn't want to send out 11 separate emails.
This is a collection of patches I developed while debugging some rather complex problems involving the rebuilding of corrupt or missing rindex system files by fsck.gfs2. It also fixes some problems whereby
gfs2_editor other utils crash and burn due to corrupt rindex files.Regards,
Bob Peterson
Red Hat File SystemsSigned-off-by Bob Peterson <[email protected]>
Quoted 13 lines
---
Bob Peterson (11):
libgfs2: Backport rbtree fixes from upstream
libgfs2: Check for obvious corruption reading rindex
libgfs2: Change rgrp counts to beuint64_t
gfs2_edit: Don't reference an empty rgrp tree
fsck.gfs2: Read jindex before making rindex repairs fsck.gfs2: better reporting of false positive rgrp identification fsck.gfs2: Minor reformatting
fsck.gfs2: Ditch variablergcount_from_index
fsck.gfs2: Add ability to fix rindex file size
fsck.gfs2: Do not try to overrun the max rgrps that fit inside rindex fsck.gfs2: Detect multiple rgrp grow segments
Consider these ACKed. I've taken a look through them and they look fine, though I'm not hugely familiar with that part of the fsck code. Coverity is happy with them too.
Outside of the scope of this set, I noticed in patch 11 that parts of the existing fsck.gfs2 code assume that the first rgrp lies in the first block after the superblock. That's likely to get confused when the file system is RAID stripe aligned so that's something that may need addressing at some point (mkfs.gfs2 -b 4096 -o swidth=16k,sunit=8k should mock it up for a test).
In general it would be good to have more fsck.gfs2 tests in the testsuite so if there's a simple way to test these patches without mounting (scribbling over some rindex entries?) then I'll get that added.
Cheers,
Andy
Quoted 13 lines
gfs2/edit/hexedit.c | 9 +- gfs2/fsck/fs_recovery.c | 138 +++++++++++++++++++ gfs2/fsck/fs_recovery.h | 1 + gfs2/fsck/initialize.c | 142 +------------------- gfs2/fsck/rgrepair.c | 349 ++++++++++++++++++++++++++++++++++-------------- gfs2/include/osi_tree.h | 51 ++++--- gfs2/libgfs2/gfs2l.c | 2 +- gfs2/libgfs2/libgfs2.h | 3 +- gfs2/libgfs2/rgrp.c | 30 +++-- gfs2/libgfs2/super.c | 8 +- 10 files changed, 457 insertions(+), 276 deletions(-)