2013-12-10 20:39:24

by Kit Westneat

[permalink] [raw]
Subject: e2fsck can't handle bad extents w/ bad bitmaps

Hello,

We ran into an issue recently where we had a filesystem that had both
invalid bitmaps and corrupted extent nodes. The issue was that currently
the fix for a corrupted extent requires that the bitmaps be read in:
pass1.c +2250, scan_extent_node:
pctx->blk = extent.e_pblk;
pctx->blk2 = extent.e_lblk;
pctx->num = extent.e_len;
if (fix_problem(ctx, problem, pctx)) {
>> e2fsck_read_bitmaps(ctx);
pctx->errcode =
ext2fs_extent_delete(ehandle, 0);

Which then fails:
e2fsck/util.c +272, e2fsck_read_bitmaps:
if (ctx->invalid_bitmaps) {
com_err(ctx->program_name, 0,
_("e2fsck_read_bitmaps: illegal bitmap block(s) for %s"),

We just ended up adding a patch to ignore the bad extents, but I just
wanted to let people know that this problem exists.

Thanks,
Kit

--
---
Kit Westneat
L3 Lustre Support, DDN
703-659-3869