aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-07-30 11:08:12 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-07-30 11:08:12 -0700
commit4669e13cd67f8532be12815ed3d37e775a9bdc16 (patch)
tree88c258c82a0596d9f0c3f69f1c9f5e6ed89346f6 /fs
parentMerge tag 'io_uring-5.14-2021-07-30' of git://git.kernel.dk/linux-block (diff)
parentblock: delay freeing the gendisk (diff)
downloadlinux-dev-4669e13cd67f8532be12815ed3d37e775a9bdc16.tar.xz
linux-dev-4669e13cd67f8532be12815ed3d37e775a9bdc16.zip
Merge tag 'block-5.14-2021-07-30' of git://git.kernel.dk/linux-block
Pull block fixes from Jens Axboe: - gendisk freeing fix (Christoph) - blk-iocost wake ordering fix (Tejun) - tag allocation error handling fix (John) - loop locking fix. While this isn't the prettiest fix in the world, nobody has any good alternatives for 5.14. Something to likely revisit for 5.15. (Tetsuo) * tag 'block-5.14-2021-07-30' of git://git.kernel.dk/linux-block: block: delay freeing the gendisk blk-iocost: fix operation ordering in iocg_wake_fn() blk-mq-sched: Fix blk_mq_sched_alloc_tags() error handling loop: reintroduce global lock for safe loop_validate_file() traversal
Diffstat (limited to 'fs')
-rw-r--r--fs/block_dev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 0c424a0cadaa..9ef4f1fc2cb0 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -812,6 +812,8 @@ static void bdev_free_inode(struct inode *inode)
free_percpu(bdev->bd_stats);
kfree(bdev->bd_meta_info);
+ if (!bdev_is_partition(bdev))
+ kfree(bdev->bd_disk);
kmem_cache_free(bdev_cachep, BDEV_I(inode));
}