]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - fs/ext4/balloc.c
UBUNTU: SAUCE: Revert "UBUNTU: SAUCE: ext4: fix ext4_validate_inode_bitmap: comm...
[mirror_ubuntu-bionic-kernel.git] / fs / ext4 / balloc.c
index a943e568292e95b9f57c2aee3078c3f2baf6d948..824c99ee213c06aca3f8be9855af52c275cc8515 100644 (file)
@@ -243,8 +243,6 @@ static int ext4_init_block_bitmap(struct super_block *sb,
         */
        ext4_mark_bitmap_end(num_clusters_in_group(sb, block_group),
                             sb->s_blocksize * 8, bh->b_data);
-       ext4_block_bitmap_csum_set(sb, block_group, gdp, bh);
-       ext4_group_desc_csum_set(sb, block_group, gdp);
        return 0;
 }
 
@@ -448,6 +446,7 @@ ext4_read_block_bitmap_nowait(struct super_block *sb, ext4_group_t block_group)
                err = ext4_init_block_bitmap(sb, bh, block_group, desc);
                set_bitmap_uptodate(bh);
                set_buffer_uptodate(bh);
+               set_buffer_verified(bh);
                ext4_unlock_group(sb, block_group);
                unlock_buffer(bh);
                if (err) {
@@ -566,8 +565,8 @@ static int ext4_has_free_clusters(struct ext4_sb_info *sbi,
 
        /* Hm, nope.  Are (enough) root reserved clusters available? */
        if (uid_eq(sbi->s_resuid, current_fsuid()) ||
-           (!gid_eq(sbi->s_resgid, GLOBAL_ROOT_GID) && in_group_p(sbi->s_resgid)) ||
-           capable(CAP_SYS_RESOURCE) ||
+           (!gid_eq(sbi->s_resgid, make_kgid(sbi->s_sb->s_user_ns, 0)) && in_group_p(sbi->s_resgid)) ||
+           ns_capable(sbi->s_sb->s_user_ns, CAP_SYS_RESOURCE) ||
            (flags & EXT4_MB_USE_ROOT_BLOCKS)) {
 
                if (free_clusters >= (nclusters + dirty_clusters +