From 89dd15db9fbcf289afca24751fb463245c5c6aee Mon Sep 17 00:00:00 2001 From: Aditya Kali Date: Fri, 13 Jul 2012 15:25:09 -0700 Subject: [PATCH] tune2fs: fix quota feature removal When the last quota inode is removed, the 'quota' feature flag was not removed from superblock in some cases. Ex: $ mke2fs -t ext4 -O quota # creates both usr & grp # quota inodes $ tune2fs -Q ^usrquota # removes usr quota inode $ tune2fs -Q ^grpquota # removes grp quota inode, # but the 'quota' feature flag # was not removed from superblock This patch removes the 'quota' feature flag from superblock if none of the quota inodes are set. Signed-off-by: Aditya Kali Signed-off-by: Theodore Ts'o --- misc/tune2fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 73bc10c..fb46fb6 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -734,7 +734,8 @@ void handle_quota_options(ext2_filsys fs) if ((usrquota == QOPT_ENABLE) || (grpquota == QOPT_ENABLE)) { fs->super->s_feature_ro_compat |= EXT4_FEATURE_RO_COMPAT_QUOTA; ext2fs_mark_super_dirty(fs); - } else if ((usrquota == QOPT_DISABLE) && (grpquota == QOPT_DISABLE)) { + } else if (!fs->super->s_usr_quota_inum && + !fs->super->s_grp_quota_inum) { fs->super->s_feature_ro_compat &= ~EXT4_FEATURE_RO_COMPAT_QUOTA; ext2fs_mark_super_dirty(fs); } -- 1.8.3.1