Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[linux-2.6-block.git] / fs / ext2 / balloc.c
index a8cbe1bc6ad4e7e1285ab131bee081972a690711..030c6d277e146feb18382a0958fae788e3e78dc0 100644 (file)
@@ -1193,8 +1193,9 @@ static int ext2_has_free_blocks(struct ext2_sb_info *sbi)
        free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
        root_blocks = le32_to_cpu(sbi->s_es->s_r_blocks_count);
        if (free_blocks < root_blocks + 1 && !capable(CAP_SYS_RESOURCE) &&
-               sbi->s_resuid != current_fsuid() &&
-               (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
+               !uid_eq(sbi->s_resuid, current_fsuid()) &&
+               (gid_eq(sbi->s_resgid, GLOBAL_ROOT_GID) ||
+                !in_group_p (sbi->s_resgid))) {
                return 0;
        }
        return 1;