From: Theodore Ts'o Date: Wed, 23 Aug 2017 14:44:44 +0000 (-0400) Subject: tune2fs: do not enable project feature or quota if inode size is 128 bytes X-Git-Tag: v1.43.6~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=966750417824a75935feb8add1906cca03987eed;p=thirdparty%2Fe2fsprogs.git tune2fs: do not enable project feature or quota if inode size is 128 bytes Don't allow the user to enable the project feature (or project quota) if the inode size is 128 bytes. Signed-off-by: Theodore Ts'o --- diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 85435674d..99c17cc47 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -1310,6 +1310,11 @@ mmp_error: if (FEATURE_ON(E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_PROJECT)) { + if (fs->super->s_inode_size == EXT2_GOOD_OLD_INODE_SIZE) { + fprintf(stderr, _("Cannot enable project feature; " + "inode size too small.\n")); + exit(1); + } Q_flag = 1; quota_enable[PRJQUOTA] = QOPT_ENABLE; } @@ -1497,6 +1502,13 @@ static void handle_quota_options(ext2_filsys fs) /* Nothing to do. */ return; + if (quota_enable[PRJQUOTA] == QOPT_ENABLE && + fs->super->s_inode_size == EXT2_GOOD_OLD_INODE_SIZE) { + fprintf(stderr, _("Cannot enable project quota; " + "inode size too small.\n")); + exit(1); + } + for (qtype = 0; qtype < MAXQUOTAS; qtype++) { if (quota_enable[qtype] == QOPT_ENABLE) qtype_bits |= 1 << qtype;