mirror of https://github.com/vitalif/e2fsprogs
Make quota support disabled by support
Quota support can be enabled using --enable-quota. There are still some buglets that we need to fix up before it can be considered 100% supported, so let's disable it for the 1.42 release. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>bitmap-optimize
parent
554bc091b7
commit
7becb2065f
|
@ -14,10 +14,6 @@ called 'bigalloc', which must be enabled when the file system is
|
|||
initially formatted. It is not backwards compatible with older
|
||||
kernels.
|
||||
|
||||
This release of e2fsprogs has support for integrated feature, where
|
||||
the quota files are hidden system files that are automatically
|
||||
maintained by e2fsck.
|
||||
|
||||
Added support for the Multi-Mount Protection (MMP) feature.
|
||||
|
||||
Fix a bug in e2fsck where if the free blocks and inodes counts are
|
||||
|
@ -202,6 +198,11 @@ Updated/clarified man pages. (Addresses Debian Bugs: #639411,
|
|||
Programming notes
|
||||
-----------------
|
||||
|
||||
Initial support for quota as an integrated feature, where the quota
|
||||
files are hidden system files that are automatically maintained by
|
||||
e2fsck is present, although disabled by default. It must be enabled
|
||||
by using the configure option --enable-quota.
|
||||
|
||||
Reserved the on-disk fields for the metadata checksum and snapshot
|
||||
features, which are currently in development.
|
||||
|
||||
|
|
|
@ -808,7 +808,7 @@ enable_blkid_debug
|
|||
enable_testio_debug
|
||||
enable_libuuid
|
||||
enable_libblkid
|
||||
enable_libquota
|
||||
enable_quota
|
||||
enable_debugfs
|
||||
enable_imager
|
||||
enable_resizer
|
||||
|
@ -1462,7 +1462,7 @@ Optional Features:
|
|||
--disable-testio-debug disable the use of the test I/O manager for debugging
|
||||
--disable-libuuid do not build private uuid library
|
||||
--disable-libblkid do not build private blkid library
|
||||
--disable-libquota do not build private quota library
|
||||
--enable-libquota enable quota support
|
||||
--disable-debugfs disable support of debugfs program
|
||||
--disable-imager disable support of e2image program
|
||||
--disable-resizer disable support of e2resize program
|
||||
|
@ -5204,97 +5204,32 @@ $as_echo "no" >&6; }
|
|||
fi
|
||||
|
||||
fi
|
||||
LIBQUOTA=
|
||||
DEPLIBQUOTA=
|
||||
STATIC_LIBQUOTA=
|
||||
DEPSTATIC_LIBQUOTA=
|
||||
PROFILED_LIBQUOTA=
|
||||
DEPPROFILED_LIBQUOTA=
|
||||
QUOTA_CMT=
|
||||
# Check whether --enable-libquota was given.
|
||||
if test "${enable_libquota+set}" = set; then :
|
||||
enableval=$enable_libquota; if test "$enableval" = "no"
|
||||
|
||||
# Check whether --enable-quota was given.
|
||||
if test "${enable_quota+set}" = set; then :
|
||||
enableval=$enable_quota; if test "$enableval" = "no"
|
||||
then
|
||||
if test -z "$PKG_CONFIG"; then
|
||||
as_fn_error "pkg-config not installed; please install it." "$LINENO" 5
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support" >&5
|
||||
$as_echo "Disabling quota support" >&6; }
|
||||
else
|
||||
$as_echo "#define CONFIG_QUOTA 1" >>confdefs.h
|
||||
|
||||
as_ac_Lib=`$as_echo "ac_cv_lib_quota_LIBQUOTA=\`$PKG_CONFIG --libs quota\`;
|
||||
STATIC_LIBQUOTA=\`$PKG_CONFIG --static --libs quota\`" | $as_tr_sh`
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBQUOTA=\`$PKG_CONFIG --libs quota\`;
|
||||
STATIC_LIBQUOTA=\`$PKG_CONFIG --static --libs quota\` in -lquota" >&5
|
||||
$as_echo_n "checking for LIBQUOTA=\`$PKG_CONFIG --libs quota\`;
|
||||
STATIC_LIBQUOTA=\`$PKG_CONFIG --static --libs quota\` in -lquota... " >&6; }
|
||||
if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lquota $LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char LIBQUOTA=`$PKG_CONFIG --libs quota`;
|
||||
STATIC_LIBQUOTA=`$PKG_CONFIG --static --libs quota` ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return LIBQUOTA=`$PKG_CONFIG --libs quota`;
|
||||
STATIC_LIBQUOTA=`$PKG_CONFIG --static --libs quota` ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
eval "$as_ac_Lib=yes"
|
||||
else
|
||||
eval "$as_ac_Lib=no"
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
eval ac_res=\$$as_ac_Lib
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
eval as_val=\$$as_ac_Lib
|
||||
if test "x$as_val" = x""yes; then :
|
||||
as_fn_error "external quota library not found" "$LINENO" 5
|
||||
else
|
||||
$LIBQUOTA
|
||||
fi
|
||||
|
||||
QUOTA_CMT=#
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling private quota library" >&5
|
||||
$as_echo "Disabling private quota library" >&6; }
|
||||
else
|
||||
LIBQUOTA='$(LIB)/libquota'$LIB_EXT
|
||||
DEPLIBQUOTA=$LIBQUOTA
|
||||
STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
|
||||
DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
|
||||
PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
|
||||
DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling private quota library" >&5
|
||||
$as_echo "Enabling private quota library" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support" >&5
|
||||
$as_echo "Enabling quota support" >&6; }
|
||||
fi
|
||||
|
||||
else
|
||||
LIBQUOTA='$(LIB)/libquota'$LIB_EXT
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support by default" >&5
|
||||
$as_echo "Disabling quota support by default" >&6; }
|
||||
|
||||
fi
|
||||
|
||||
LIBQUOTA='$(LIB)/libquota'$LIB_EXT
|
||||
DEPLIBQUOTA=$LIBQUOTA
|
||||
STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
|
||||
DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
|
||||
PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
|
||||
DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling private quota library by default" >&5
|
||||
$as_echo "Enabling private quota library by default" >&6; }
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
42
configure.in
42
configure.in
|
@ -526,49 +526,31 @@ AC_SUBST(PROFILED_LIBBLKID)
|
|||
AC_SUBST(DEPPROFILED_LIBBLKID)
|
||||
AC_SUBST(BLKID_CMT)
|
||||
dnl
|
||||
dnl handle --disable-libquota
|
||||
dnl handle --enable-quota
|
||||
dnl
|
||||
PKG_PROG_PKG_CONFIG
|
||||
LIBQUOTA=
|
||||
DEPLIBQUOTA=
|
||||
STATIC_LIBQUOTA=
|
||||
DEPSTATIC_LIBQUOTA=
|
||||
PROFILED_LIBQUOTA=
|
||||
DEPPROFILED_LIBQUOTA=
|
||||
QUOTA_CMT=
|
||||
AC_ARG_ENABLE([libquota],
|
||||
[ --disable-libquota do not build private quota library],
|
||||
AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
|
||||
AC_ARG_ENABLE([quota],
|
||||
[ --enable-libquota enable quota support],
|
||||
if test "$enableval" = "no"
|
||||
then
|
||||
if test -z "$PKG_CONFIG"; then
|
||||
AC_MSG_ERROR([pkg-config not installed; please install it.])
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(quota,
|
||||
[LIBQUOTA=`$PKG_CONFIG --libs quota`;
|
||||
STATIC_LIBQUOTA=`$PKG_CONFIG --static --libs quota`],
|
||||
[AC_MSG_ERROR([external quota library not found])],
|
||||
[$LIBQUOTA])
|
||||
QUOTA_CMT=#
|
||||
AC_MSG_RESULT([Disabling private quota library])
|
||||
AC_MSG_RESULT([Disabling quota support])
|
||||
else
|
||||
LIBQUOTA='$(LIB)/libquota'$LIB_EXT
|
||||
DEPLIBQUOTA=$LIBQUOTA
|
||||
STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
|
||||
DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
|
||||
PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
|
||||
DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
|
||||
AC_MSG_RESULT([Enabling private quota library])
|
||||
AC_DEFINE(CONFIG_QUOTA, 1)
|
||||
AC_MSG_RESULT([Enabling quota support])
|
||||
fi
|
||||
,
|
||||
AC_MSG_RESULT([Disabling quota support by default])
|
||||
)
|
||||
dnl
|
||||
dnl Define stuff expected for quota library
|
||||
dnl
|
||||
LIBQUOTA='$(LIB)/libquota'$LIB_EXT
|
||||
DEPLIBQUOTA=$LIBQUOTA
|
||||
STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
|
||||
DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
|
||||
PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
|
||||
DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
|
||||
AC_MSG_RESULT([Enabling private quota library by default])
|
||||
)
|
||||
AC_SUBST(LIBQUOTA)
|
||||
AC_SUBST(DEPLIBQUOTA)
|
||||
AC_SUBST(STATIC_LIBQUOTA)
|
||||
|
|
|
@ -129,7 +129,7 @@ endif
|
|||
BF_CFLAGS = -Os -fomit-frame-pointer
|
||||
|
||||
COMMON_CONF_FLAGS = --disable-e2initrd-helper --enable-elf-shlibs \
|
||||
--infodir=/usr/share/info
|
||||
--enable-quota --infodir=/usr/share/info
|
||||
ifeq ($(UTIL_LINUX_NG),yes)
|
||||
COMMON_CONF_FLAGS += --disable-fsck --disable-libblkid \
|
||||
--disable-libuuid --disable-uuidd
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
/* Define to 1 if debugging ext3/4 journal code */
|
||||
#undef CONFIG_JBD_DEBUG
|
||||
|
||||
/* Define to 1 to enable quota support */
|
||||
#undef CONFIG_QUOTA
|
||||
|
||||
/* Define to 1 if the testio I/O manager should be enabled */
|
||||
#undef CONFIG_TESTIO_DEBUG
|
||||
|
||||
|
|
|
@ -577,6 +577,7 @@ typedef struct ext2_icount *ext2_icount_t;
|
|||
EXT4_FEATURE_INCOMPAT_MMP|\
|
||||
EXT4_FEATURE_INCOMPAT_64BIT)
|
||||
#endif
|
||||
#ifdef CONFIG_QUOTA
|
||||
#define EXT2_LIB_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|\
|
||||
EXT4_FEATURE_RO_COMPAT_HUGE_FILE|\
|
||||
EXT2_FEATURE_RO_COMPAT_LARGE_FILE|\
|
||||
|
@ -585,6 +586,15 @@ typedef struct ext2_icount *ext2_icount_t;
|
|||
EXT4_FEATURE_RO_COMPAT_GDT_CSUM|\
|
||||
EXT4_FEATURE_RO_COMPAT_BIGALLOC|\
|
||||
EXT4_FEATURE_RO_COMPAT_QUOTA)
|
||||
#else
|
||||
#define EXT2_LIB_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|\
|
||||
EXT4_FEATURE_RO_COMPAT_HUGE_FILE|\
|
||||
EXT2_FEATURE_RO_COMPAT_LARGE_FILE|\
|
||||
EXT4_FEATURE_RO_COMPAT_DIR_NLINK|\
|
||||
EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE|\
|
||||
EXT4_FEATURE_RO_COMPAT_GDT_CSUM|\
|
||||
EXT4_FEATURE_RO_COMPAT_BIGALLOC)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These features are only allowed if EXT2_FLAG_SOFTSUPP_FEATURES is passed
|
||||
|
|
|
@ -847,7 +847,10 @@ static __u32 ok_features[3] = {
|
|||
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|
|
||||
EXT4_FEATURE_RO_COMPAT_GDT_CSUM|
|
||||
EXT4_FEATURE_RO_COMPAT_BIGALLOC|
|
||||
EXT4_FEATURE_RO_COMPAT_QUOTA
|
||||
#ifdef CONFIG_QUOTA
|
||||
EXT4_FEATURE_RO_COMPAT_QUOTA|
|
||||
#endif
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue