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);
 	}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.