[PATCH v1 0/5] ext4: Shut down block groups when damage is detected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Right now, ext4 doesn't do quite a good enough job shutting off allocation and
freeing activity in block groups when damage is detected, which means that ext4
can obliviously load a corrupt bitmap, base allocation decisions off of that,
and trash the filesystem.  We'd like to be able to freeze the block group when
this happens, so hopefully the next fsck can repair the damage.

The first patch fixes the behavior that a corrupt bitmap can be returned to
mballoc as if it was accurate.  The second patch is a trivial fix, and the two
after it provide for detecting damage in either the block bitmap or the inode
bitmap, and disabling all allocation/deallocation activity in the block group.
The final patch changes runtime block group descriptor validation failure
behavior to use the corruption flag to mark off the block group.

This patchset has been tested (albeit lightly) against 3.11-rc1 on x64.  I'm
wondering about a few things -- if we detect corrupt *inodes*, should we invoke
this mechanism as well?  Second, as I mentioned a few days ago, maybe it's time
for block_validity to be set always, since it seems to have a low speed impact?
Third, the block bitmap corruption flag patch is based off of Aditya Kali's
patch that you forwarded; can a proper Signed-off-by be attached since I mostly
just massaged that one into 3.11?

Comments and questions are, as always, welcome.

--D
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux