• zhangyi (F)'s avatar
    ext4: fix incorrect quotaoff if the quota feature is enabled · b0a5a958
    zhangyi (F) authored
    Current ext4 quota should always "usage enabled" if the
    quota feautre is enabled. But in ext4_orphan_cleanup(), it
    turn quotas off directly (used for the older journaled
    quota), so we cannot turn it on again via "quotaon" unless
    umount and remount ext4.
    
    Simple reproduce:
    
      mkfs.ext4 -O project,quota /dev/vdb1
      mount -o prjquota /dev/vdb1 /mnt
      chattr -p 123 /mnt
      chattr +P /mnt
      touch /mnt/aa /mnt/bb
      exec 100<>/mnt/aa
      rm -f /mnt/aa
      sync
      echo c > /proc/sysrq-trigger
    
      #reboot and mount
      mount -o prjquota /dev/vdb1 /mnt
      #query status
      quotaon -Ppv /dev/vdb1
      #output
      quotaon: Cannot find mountpoint for device /dev/vdb1
      quotaon: No correct mountpoint specified.
    
    This patch add check for journaled quotas to avoid incorrect
    quotaoff when ext4 has quota feautre.
    Signed-off-by: default avatarzhangyi (F) <yi.zhang@huawei.com>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Reviewed-by: default avatarJan Kara <jack@suse.cz>
    Cc: stable@vger.kernel.org # 3.18
    b0a5a958
super.c 165 KB