Merge tag 'for-5.6-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs fixes from David Sterba: "Two fixes. The first is a regression: when dropping some incompat bits the conditions were reversed. The other is a fix for rename whiteout potentially leaving stack memory linked to a list" * tag 'for-5.6-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: fix removal of raid[56|1c34} incompat flags after removing block group btrfs: fix log context list corruption after rename whiteout error
This commit is contained in:
@@ -856,9 +856,9 @@ static void clear_incompat_bg_bits(struct btrfs_fs_info *fs_info, u64 flags)
|
||||
found_raid1c34 = true;
|
||||
up_read(&sinfo->groups_sem);
|
||||
}
|
||||
if (found_raid56)
|
||||
if (!found_raid56)
|
||||
btrfs_clear_fs_incompat(fs_info, RAID56);
|
||||
if (found_raid1c34)
|
||||
if (!found_raid1c34)
|
||||
btrfs_clear_fs_incompat(fs_info, RAID1C34);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9496,6 +9496,10 @@ out_fail:
|
||||
ret = btrfs_sync_log(trans, BTRFS_I(old_inode)->root, &ctx);
|
||||
if (ret)
|
||||
commit_transaction = true;
|
||||
} else if (sync_log) {
|
||||
mutex_lock(&root->log_mutex);
|
||||
list_del(&ctx.list);
|
||||
mutex_unlock(&root->log_mutex);
|
||||
}
|
||||
if (commit_transaction) {
|
||||
ret = btrfs_commit_transaction(trans);
|
||||
|
||||
Reference in New Issue
Block a user