Bug 520814 - GFS2: [RFE] Better verification of block read from journal during recovery
Summary: GFS2: [RFE] Better verification of block read from journal during recovery
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Steve Whitehouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 437149
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-02 14:37 UTC by Steve Whitehouse
Modified: 2009-09-02 14:37 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Steve Whitehouse 2009-09-02 14:37:05 UTC
It should be possible to do much better checking of the block being read from the journal during recovery. This would ensure that we do not write bad data over good data in the case that there is corruption of the journal blocks during recovery.

Lots of blocks have pointers in them (some inodes, indirect blocks, directory leaf blocks, etc) and we can verify that these point to valid blocks by checking the resource group data (i.e. ensure that the block number is higher than the super block, is less than the end of the filesystem and also does not refer to one of the rgrp blocks). We will need to ensure that the block to rgrp mapping is more efficient first though.

There are a number of other things which could be checked, particularly in the case of inode where we can check that the inode is of a valid type, and that the flags make sense for that type, etc.

Since recovery is an occasional activity it would be reasonable to do more tests that we can ordinarily do during normal fs operation (due to performance concerns).


Note You need to log in before you can comment on or make changes to this bug.