Whamcloud - gitweb
tune2fs: do not enable project feature or quota if inode size is 128 bytes
authorTheodore Ts'o <tytso@mit.edu>
Wed, 23 Aug 2017 14:44:44 +0000 (10:44 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 23 Aug 2017 15:06:40 +0000 (11:06 -0400)
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 <tytso@mit.edu>
misc/tune2fs.c

index 8543567..99c17cc 100644 (file)
@@ -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;