Re: Question regarding ext3 extents+mballoc+delalloc
Holger Kiehl <[email protected]>
| Newsgroups | gmane.comp.file-systems.ext2.devel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 7 Jun 2006, Andreas Dilger wrote: >> As you mention e2fsprogs also needs to be updated: >> >> # dumpe2fs -h /dev/md7 >> dumpe2fs 1.38 (30-Jun-2005) >> dumpe2fs: Filesystem has unsupported feature(s) while trying to open >> /dev/md7 >> Couldn't find valid filesystem superblock. >> >> Are there any patches down loadable, that add support to the e2fsprogs? > > Yes, these were posted as part of a whole patch series by Bull to ext2-devel. > You can also download the CFS e2fsprogs-1.38-cfs2 RPMs from > ftp://ftp.lustre.org/pub/lustre/other/e2fsprogs/ > Thanks! I just noticed that compiling with --disable-lfsck does not work. Attached is a patch that makes this work for me. Holger _______________________________________________ Ext2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ext2-devel
no_lfsck.patch
(text/plain, 2.3 KB)
--- e2fsprogs-1.38.cfs2/e2fsck/unix.c.original 2006-02-15 22:18:08.000000000 +0000
+++ e2fsprogs-1.38.cfs2/e2fsck/unix.c 2006-06-08 10:22:10.000000000 +0000
@@ -59,7 +59,9 @@
#include "e2fsck.h"
#include "problem.h"
#include "../version.h"
+#ifdef ENABLE_LFSCK
#include "e2fsck_lfsck.h"
+#endif
static struct option long_options[] = {
#ifdef ENABLE_LFSCK
@@ -496,12 +498,14 @@
fputc('\n', stdout);
ext2fs_close(fs);
ctx->fs = NULL;
+#ifdef ENABLE_LFSCK
if (ctx->lustre_mdsdb)
free(ctx->lustre_mdsdb);
if (ctx->lustre_ostdb)
free(ctx->lustre_ostdb);
if (ctx->lfsck_oinfo)
e2fsck_lfsck_cleanupdb(ctx);
+#endif
e2fsck_free_context(ctx);
exit(FSCK_OK);
@@ -1479,12 +1483,14 @@
ctx->fs = NULL;
free(ctx->filesystem_name);
free(ctx->journal_name);
+#ifdef ENABLE_LFSCK
if (ctx->lfsck_oinfo)
e2fsck_lfsck_cleanupdb(ctx);
if (ctx->lustre_mdsdb)
free(ctx->lustre_mdsdb);
if (ctx->lustre_ostdb)
free(ctx->lustre_ostdb);
+#endif
#ifdef RESOURCE_TRACK
if (ctx->options & E2F_OPT_TIME)
--- e2fsprogs-1.38.cfs2/e2fsck/pass1.c.original 2006-02-16 00:29:37.000000000 +0000
+++ e2fsprogs-1.38.cfs2/e2fsck/pass1.c 2006-06-08 10:25:13.000000000 +0000
@@ -316,8 +316,10 @@
goto fix;
}
+#ifdef ENABLE_LFSCK
e2fsck_lfsck_found_ea(ctx, ino, inode, entry,
start + entry->e_value_offs);
+#endif
remain -= entry->e_value_size;
offs -= EXT2_XATTR_SIZE(entry->e_value_size);
@@ -529,11 +531,13 @@
(fs->super->s_mtime < fs->super->s_inodes_count))
busted_fs_time = 1;
+#ifdef ENABLE_LFSCK
if (!(ctx->options & E2F_OPT_READONLY) &&
(ctx->lustre_devtype & LUSTRE_TYPE) == LUSTRE_MDS) {
if (e2fsck_lfsck_remove_pending(ctx, NULL))
return;
}
+#endif
while (1) {
pctx.errcode = ext2fs_get_next_inode_full(scan, &ino,
@@ -918,7 +922,9 @@
e2fsck_pass1_dupblocks(ctx, block_buf);
}
+#ifdef ENABLE_LFSCK
e2fsck_lfsck_flush_ea(ctx);
+#endif
ext2fs_free_mem(&inodes_to_process);
endit:
@@ -1317,11 +1323,13 @@
goto clear_extattr;
}
+#ifdef ENABLE_LFSCK
if (e2fsck_lfsck_found_ea(ctx, ino, inode, entry,
block_buf + entry->e_value_offs)) {
if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
return;
}
+#endif
entry = EXT2_EXT_ATTR_NEXT(entry);
}