configure: remove support to disable quota support

For the 1.43 release, quota support will be the default.  It's much
simpler if we don't try to make quota support optional.  This was done
originally because the quota feature wasn't fully tested.  It is now,
so we can remove this as an option.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
debian
Theodore Ts'o 2015-07-03 22:02:30 -04:00
parent 149640fabc
commit 9e8fcd6e01
12 changed files with 35 additions and 278 deletions

View File

@ -116,14 +116,14 @@ LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@
LIBUUID = @LIBUUID@ @SOCKET_LIB@
LIBMAGIC = @MAGIC_LIB@
LIBFUSE = @FUSE_LIB@
LIBQUOTA = @STATIC_LIBQUOTA@
LIBQUOTA = $(LIB)/libquota@STATIC_LIB_EXT@
LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID)
LIBINTL = @LIBINTL@
SYSLIBS = @LIBS@
DEPLIBSS = $(LIB)/libss@LIB_EXT@
DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@
DEPLIBUUID = @DEPLIBUUID@
DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
DEPLIBQUOTA = $(LIBQUOTA)
DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
TESTENV = LD_LIBRARY_PATH="$(LIB):$${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="$(LIB):$${DYLD_LIBRARY_PATH}"
@ -132,12 +132,12 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@
STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@
STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@
STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
STATIC_LIBQUOTA = $(LIBQUOTA)
STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID)
DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@
DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@
DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@
DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
DEPSTATIC_LIBQUOTA = $(DEPLIBQUOTA)
DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID)
PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@
@ -145,12 +145,12 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@
PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@
PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@
PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@
PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
PROFILED_LIBQUOTA = $(LIB)/libquota@PROFILED_LIB_EXT@
PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID)
DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@
DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@
DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@
DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
DEPPROFILED_LIBQUOTA = $(PROFILED_LIBQUOTA)
DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID)
#

173
configure vendored
View File

@ -736,14 +736,6 @@ DEFRAG_CMT
RESIZER_CMT
IMAGER_CMT
DEBUGFS_CMT
QUOTA_CMT
DEPPROFILED_LIBQUOTA
PROFILED_LIBQUOTA
DEPSTATIC_LIBQUOTA
STATIC_LIBQUOTA
DEPLIBQUOTA
LIBQUOTA
QUOTA_MAN_COMMENT
BLKID_CMT
DEPPROFILED_LIBBLKID
PROFILED_LIBBLKID
@ -869,7 +861,6 @@ enable_blkid_debug
enable_testio_debug
enable_libuuid
enable_libblkid
enable_quota
enable_backtrace
enable_debugfs
enable_imager
@ -1531,7 +1522,6 @@ Optional Features:
--disable-testio-debug disable the use of the test I/O manager for debugging
--enable-libuuid build and use private uuid library
--enable-libblkid build and use private blkid library
--disable-quota disable quota support
--disable-backtrace disable use backtrace
--disable-debugfs disable support of debugfs program
--disable-imager disable support of e2image program
@ -5611,169 +5601,6 @@ fi
QUOTA_MAN_COMMENT='.\"'
QUOTA_CMT=
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
$as_echo "$PKG_CONFIG" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_path_PKG_CONFIG"; then
ac_pt_PKG_CONFIG=$PKG_CONFIG
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
if test -n "$ac_pt_PKG_CONFIG"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
$as_echo "$ac_pt_PKG_CONFIG" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_pt_PKG_CONFIG" = x; then
PKG_CONFIG=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
PKG_CONFIG=$ac_pt_PKG_CONFIG
fi
else
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
fi
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.9.0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
PKG_CONFIG=""
fi
fi
# Check whether --enable-quota was given.
if test "${enable_quota+set}" = set; then :
enableval=$enable_quota; if test "$enableval" = "no"
then
QUOTA_CMT=#
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support" >&5
$as_echo "Disabling quota support" >&6; }
else
QUOTA_CMT=
$as_echo "#define CONFIG_QUOTA 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support" >&5
$as_echo "Enabling quota support" >&6; }
QUOTA_MAN_COMMENT=""
fi
else
QUOTA_CMT=
QUOTA_MAN_COMMENT=""
$as_echo "#define CONFIG_QUOTA 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support by default" >&5
$as_echo "Enabling 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
# Check whether --enable-backtrace was given.
if test "${enable_backtrace+set}" = set; then :

View File

@ -546,48 +546,6 @@ AC_SUBST(PROFILED_LIBBLKID)
AC_SUBST(DEPPROFILED_LIBBLKID)
AC_SUBST(BLKID_CMT)
dnl
dnl handle --enable-quota
dnl
QUOTA_MAN_COMMENT='.\"'
QUOTA_CMT=
AC_SUBST(QUOTA_MAN_COMMENT)
PKG_PROG_PKG_CONFIG
AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
AC_ARG_ENABLE([quota],
[ --disable-quota disable quota support],
if test "$enableval" = "no"
then
QUOTA_CMT=#
AC_MSG_RESULT([Disabling quota support])
else
QUOTA_CMT=
AC_DEFINE(CONFIG_QUOTA, 1)
AC_MSG_RESULT([Enabling quota support])
QUOTA_MAN_COMMENT=""
fi
,
QUOTA_CMT=
QUOTA_MAN_COMMENT=""
AC_DEFINE(CONFIG_QUOTA, 1)
AC_MSG_RESULT([Enabling 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_SUBST(LIBQUOTA)
AC_SUBST(DEPLIBQUOTA)
AC_SUBST(STATIC_LIBQUOTA)
AC_SUBST(DEPSTATIC_LIBQUOTA)
AC_SUBST(PROFILED_LIBQUOTA)
AC_SUBST(DEPPROFILED_LIBQUOTA)
AC_SUBST(QUOTA_CMT)
dnl
dnl handle --disable-backtrace
dnl
AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace])

View File

@ -15,9 +15,6 @@
/* Define to 1 to enable mmp support */
#undef CONFIG_MMP
/* 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

View File

@ -571,12 +571,6 @@ typedef struct ext2_icount *ext2_icount_t;
#define EXT4_LIB_INCOMPAT_MMP (0)
#endif
#ifdef CONFIG_QUOTA
#define EXT4_LIB_RO_COMPAT_QUOTA EXT4_FEATURE_RO_COMPAT_QUOTA
#else
#define EXT4_LIB_RO_COMPAT_QUOTA (0)
#endif
#define EXT2_LIB_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE|\
EXT3_FEATURE_INCOMPAT_JOURNAL_DEV|\
EXT2_FEATURE_INCOMPAT_META_BG|\
@ -595,7 +589,7 @@ typedef struct ext2_icount *ext2_icount_t;
EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE|\
EXT4_FEATURE_RO_COMPAT_GDT_CSUM|\
EXT4_FEATURE_RO_COMPAT_BIGALLOC|\
EXT4_LIB_RO_COMPAT_QUOTA|\
EXT4_FEATURE_RO_COMPAT_QUOTA|\
EXT4_FEATURE_RO_COMPAT_METADATA_CSUM|\
EXT4_FEATURE_RO_COMPAT_READONLY)

View File

@ -202,17 +202,17 @@ available in the resize inode.
This ext4 feature provides multiple mount protection (MMP). MMP helps to
protect the filesystem from being multiply mounted and is useful in
shared storage environments.
@QUOTA_MAN_COMMENT@.TP
@QUOTA_MAN_COMMENT@.B quota
@QUOTA_MAN_COMMENT@.br
@QUOTA_MAN_COMMENT@Create quota inodes (inode #3 for userquota and inode
@QUOTA_MAN_COMMENT@#4 for group quota) and set them in the superblock.
@QUOTA_MAN_COMMENT@With this feature, the quotas will be enabled
@QUOTA_MAN_COMMENT@automatically when the filesystem is mounted.
@QUOTA_MAN_COMMENT@.IP
@QUOTA_MAN_COMMENT@Causes the quota files (i.e., user.quota and
@QUOTA_MAN_COMMENT@group.quota which existed
@QUOTA_MAN_COMMENT@in the older quota design) to be hidden inodes.
.TP
.B quota
.br
Create quota inodes (inode #3 for userquota and inode
#4 for group quota) and set them in the superblock.
With this feature, the quotas will be enabled
automatically when the filesystem is mounted.
.IP
Causes the quota files (i.e., user.quota and
group.quota which existed
in the older quota design) to be hidden inodes.
.TP
.B resize_inode
.br

View File

@ -377,13 +377,13 @@ as default.
.TP
.BI nodiscard
Do not attempt to discard blocks at mkfs time.
@QUOTA_MAN_COMMENT@.TP
@QUOTA_MAN_COMMENT@.BI quotatype
@QUOTA_MAN_COMMENT@Specify which quota type ('usr' or 'grp') is to be
@QUOTA_MAN_COMMENT@initialized. This option has effect only if the
@QUOTA_MAN_COMMENT@.B quota
@QUOTA_MAN_COMMENT@feature is set. Without this extended option, the default
@QUOTA_MAN_COMMENT@behavior is to initialize both user and group quotas.
.TP
.BI quotatype
Specify which quota type ('usr' or 'grp') is to be
initialized. This option has effect only if the
.B quota
feature is set. Without this extended option, the default
behavior is to initialize both user and group quotas.
.RE
.TP
.BI \-f " fragment-size"

View File

@ -1088,9 +1088,7 @@ static __u32 ok_features[3] = {
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|
EXT4_FEATURE_RO_COMPAT_GDT_CSUM|
EXT4_FEATURE_RO_COMPAT_BIGALLOC|
#ifdef CONFIG_QUOTA
EXT4_FEATURE_RO_COMPAT_QUOTA|
#endif
EXT4_FEATURE_RO_COMPAT_METADATA_CSUM
};

View File

@ -567,9 +567,9 @@ only supports clearing this filesystem feature.
.TP
.B mmp
Enable or disable multiple mount protection (MMP) feature.
@QUOTA_MAN_COMMENT@.TP
@QUOTA_MAN_COMMENT@.B quota
@QUOTA_MAN_COMMENT@Enable internal file system quota inodes.
.TP
.B quota
Enable internal file system quota inodes.
.TP
.B read-only
Force the kernel to mount the file system read-only.

View File

@ -128,14 +128,11 @@ static void usage(void)
_("Usage: %s [-c max_mounts_count] [-e errors_behavior] "
"[-g group]\n"
"\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n"
"\t[-m reserved_blocks_percent] "
"[-o [^]mount_options[,...]] [-p mmp_update_interval]\n"
"\t[-r reserved_blocks_count] [-u user] [-C mount_count] "
"[-L volume_label]\n"
"\t[-M last_mounted_dir] [-O [^]feature[,...]]\n"
#ifdef CONFIG_QUOTA
"\t[-Q quota_options]\n"
#endif
"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]]\n"
"\t[-p mmp_update_interval] [-r reserved_blocks_count] "
"[-u user]\n"
"\t[-C mount_count] [-L volume_label] [-M last_mounted_dir]\n"
"\t[-O [^]feature[,...]] [-Q quota_options]\n"
"\t[-E extended-option[,...]] [-T last_check_time] "
"[-U UUID]\n\t[-I new_inode_size] [-z undo_file] device\n"),
program_name);
@ -160,9 +157,7 @@ static __u32 ok_features[3] = {
EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE|
EXT4_FEATURE_RO_COMPAT_GDT_CSUM |
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER |
#ifdef CONFIG_QUOTA
EXT4_FEATURE_RO_COMPAT_QUOTA |
#endif
EXT4_FEATURE_RO_COMPAT_METADATA_CSUM |
EXT4_FEATURE_RO_COMPAT_READONLY
};
@ -183,9 +178,7 @@ static __u32 clear_ok_features[3] = {
EXT4_FEATURE_RO_COMPAT_DIR_NLINK|
EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE|
EXT4_FEATURE_RO_COMPAT_GDT_CSUM |
#ifdef CONFIG_QUOTA
EXT4_FEATURE_RO_COMPAT_QUOTA |
#endif
EXT4_FEATURE_RO_COMPAT_METADATA_CSUM |
EXT4_FEATURE_RO_COMPAT_READONLY
};
@ -1470,7 +1463,6 @@ static void handle_quota_options(ext2_filsys fs)
return;
}
#ifdef CONFIG_QUOTA
static void parse_quota_opts(const char *opts)
{
char *buf, *token, *next, *p;
@ -1513,7 +1505,6 @@ static void parse_quota_opts(const char *opts)
}
free(buf);
}
#endif
static void parse_e2label_options(int argc, char ** argv)
{
@ -1575,13 +1566,9 @@ static void parse_tune2fs_options(int argc, char **argv)
char *tmp;
struct group *gr;
struct passwd *pw;
char optstring[100] = "c:e:fg:i:jlm:o:r:s:u:C:E:I:J:L:M:O:T:U:z:";
char optstring[100] = "c:e:fg:i:jlm:o:r:s:u:C:E:I:J:L:M:O:T:U:z:Q:";
#ifdef CONFIG_QUOTA
strcat(optstring, "Q:");
#endif
open_flag = 0;
printf("tune2fs %s (%s)\n", E2FSPROGS_VERSION, E2FSPROGS_DATE);
while ((c = getopt(argc, argv, optstring)) != EOF)
switch (c) {
@ -1737,13 +1724,11 @@ static void parse_tune2fs_options(int argc, char **argv)
features_cmd = optarg;
open_flag = EXT2_FLAG_RW;
break;
#ifdef CONFIG_QUOTA
case 'Q':
Q_flag = 1;
parse_quota_opts(optarg);
open_flag = EXT2_FLAG_RW;
break;
#endif
case 'r':
reserved_blocks = strtoul(optarg, &tmp, 0);
if (*tmp) {

View File

@ -17,7 +17,7 @@ test_one: $(srcdir)/test_one.in Makefile mke2fs.conf
@echo "Creating test_one script..."
@echo "#!/bin/sh" > test_one
@echo "HTREE=y" >> test_one
@QUOTA_CMT@ @echo "QUOTA=y" >> test_one
@echo "QUOTA=y" >> test_one
@echo "SRCDIR=@srcdir@" >> test_one
@echo "DIFF_OPTS=@UNI_DIFF_OPTS@" >> test_one
@cat $(srcdir)/test_one.in >> test_one

View File

@ -18,5 +18,3 @@ $prefix @prefix@
# Enable the documentation for the journal device mke2fs, tune2fs, and
# e2fsck's man page
JDEV
# Enable documentation for quota feature in mke2fs
QUOTA_MAN_COMMENT @QUOTA_MAN_COMMENT@