PROFILE_CMT
BSDLIB_CMT
ELF_CMT
-HTREE_CMT
Q
ES
E
enable_symlink_relative_symlinks
enable_symlink_build
enable_verbose_makecmds
-enable_htree
enable_elf_shlibs
enable_bsd_shlibs
enable_profile
--enable-symlink-build use symlinks while building instead of hard links
--enable-verbose-makecmds enable verbose make command output
- --disable-htree disable htree directory support
--enable-elf-shlibs select ELF shared libraries
--enable-bsd-shlibs select BSD shared libraries
--enable-profile build profiling libraries
-
-# Check whether --enable-htree was given.
-if test "${enable_htree+set}" = set; then :
- enableval=$enable_htree; if test "$enableval" = "no"
-then
- HTREE_CMT=#
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling htree directory support" >&5
-$as_echo "Disabling htree directory support" >&6; }
-else
- HTREE_CMT=
- $as_echo "#define ENABLE_HTREE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling htree directory support" >&5
-$as_echo "Enabling htree directory support" >&6; }
-fi
-
-else
- HTREE_CMT=
-$as_echo "#define ENABLE_HTREE 1" >>confdefs.h
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling htree directory support by default" >&5
-$as_echo "Enabling htree directory support by default" >&6; }
-
-fi
-
-
E2_PKG_CONFIG_STATIC=--static
LDFLAG_DYNAMIC=
PRIVATE_LIBS_CMT=
AC_SUBST(ES)
AC_SUBST(Q)
dnl
-dnl handle --enable-htree
-dnl
-AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled])
-AC_ARG_ENABLE([htree],
-[ --disable-htree disable htree directory support],
-if test "$enableval" = "no"
-then
- HTREE_CMT=#
- AC_MSG_RESULT([Disabling htree directory support])
-else
- HTREE_CMT=
- AC_DEFINE(ENABLE_HTREE, 1)
- AC_MSG_RESULT([Enabling htree directory support])
-fi
-,
-HTREE_CMT=
-AC_DEFINE(ENABLE_HTREE, 1)
-AC_MSG_RESULT([Enabling htree directory support by default])
-)
-AC_SUBST(HTREE_CMT)
-dnl
dnl This needs to be before all of the --enable-*-shlibs options
dnl
E2_PKG_CONFIG_STATIC=--static
#include "config.h"
#include "e2fsck.h"
-#ifdef ENABLE_HTREE
/*
* This subroutine is called during pass1 to create a directory info
return(ctx->dx_dir_info + (*control)++);
}
-
-#endif /* ENABLE_HTREE */
ctx->fs->dblist = 0;
}
e2fsck_free_dir_info(ctx);
-#ifdef ENABLE_HTREE
e2fsck_free_dx_dir_info(ctx);
-#endif
if (ctx->refcount) {
ea_refcount_free(ctx->refcount);
ctx->refcount = 0;
inode->i_flags &= ~EXT2_INDEX_FL;
dirty_inode++;
} else {
-#ifdef ENABLE_HTREE
e2fsck_add_dx_dir(ctx, ino, pb.last_block+1);
-#endif
}
}
return;
}
-#ifdef ENABLE_HTREE
for (i=0; (dx_dir = e2fsck_dx_dir_info_iter(ctx, &i)) != 0;) {
if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
return;
}
}
e2fsck_free_dx_dir_info(ctx);
-#endif
+
ext2fs_free_mem(&buf);
ext2fs_free_dblist(fs->dblist);
return 1;
}
-#ifdef ENABLE_HTREE
static void parse_int_node(ext2_filsys fs,
struct ext2_db_entry2 *db,
struct check_dir_struct *cd,
dx_dir->numblocks = 0;
e2fsck_rehash_dir_later(cd->ctx, cd->pctx.ino);
}
-#endif /* ENABLE_HTREE */
/*
* Given a busted directory, try to salvage it somehow.
void *priv_data)
{
struct dx_dir_info *dx_dir;
-#ifdef ENABLE_HTREE
struct dx_dirblock_info *dx_db = 0;
-#endif /* ENABLE_HTREE */
struct ext2_dir_entry *dirent, *prev, dot, dotdot;
ext2_dirhash_t hash;
unsigned int offset = 0;
memcpy(buf, buf2, fs->blocksize);
ext2fs_free_mem(&buf2);
}
-#ifdef ENABLE_HTREE
dx_dir = e2fsck_get_dx_dir_info(ctx, ino);
if (dx_dir && dx_dir->numblocks) {
if (db->blockcnt >= dx_dir->numblocks) {
is_leaf = 0;
}
out_htree:
-#endif /* ENABLE_HTREE */
/* Leaf node with no space for csum? Rebuild dirs in pass 3A. */
if (is_leaf && !inline_data_size && failed_csum &&
if (check_filetype(ctx, dirent, ino, &cd->pctx))
dir_modified++;
-#ifdef ENABLE_HTREE
if (dx_db) {
ext2fs_dirhash(dx_dir->hashversion, dirent->name,
ext2fs_dirent_name_len(dirent),
if (hash > dx_db->max_hash)
dx_db->max_hash = hash;
}
-#endif
/*
* If this is a directory, then mark its parent in its
#if 0
printf("\n");
#endif
-#ifdef ENABLE_HTREE
if (dx_db) {
#ifdef DX_DEBUG
printf("db_block %d, type %d, min_hash 0x%0x, max_hash 0x%0x\n",
(dx_db->type == DX_DIRBLOCK_NODE))
parse_int_node(fs, db, cd, dx_dir, buf, failed_csum);
}
-#endif /* ENABLE_HTREE */
if (offset != max_block_size) {
cd->pctx.num = rec_len + offset - max_block_size;
log_err(ctx, "\n");
goto get_newer;
}
-#ifndef ENABLE_HTREE
- if (sb->s_feature_compat & EXT2_FEATURE_COMPAT_DIR_INDEX) {
- log_err(ctx, _("%s: e2fsck not compiled with HTREE support,\n\t"
- "but filesystem %s has HTREE directories.\n"),
- ctx->program_name, ctx->device_name);
- goto get_newer;
- }
-#endif
/*
* If the user specified a specific superblock, presumably the
/* Define to 1 to enable bitmap stats. */
#undef ENABLE_BMAP_STATS_OPS
-/* Define to 1 if ext3/4 htree support enabled */
-#undef ENABLE_HTREE
-
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
test_one: $(srcdir)/test_one.in Makefile mke2fs.conf
@echo "Creating test_one script..."
@echo "#!/bin/sh" > test_one
-@HTREE_CMT@ @echo "HTREE=y" >> test_one
+ @echo "HTREE=y" >> test_one
@QUOTA_CMT@ @echo "QUOTA=y" >> test_one
@echo "SRCDIR=@srcdir@" >> test_one
@echo "DIFF_OPTS=@UNI_DIFF_OPTS@" >> test_one
#define ROOT_SYSCONFDIR "/etc"
#define DISABLE_BACKTRACE 1
-#define ENABLE_HTREE 1
#define HAVE_DIRENT_H 1
#define HAVE_ERRNO_H 1
#define HAVE_EXT2_IOCTLS 1