提交 8e4ff684 编写于 作者: M Ming Lei 提交者: Jens Axboe

block: ublk: move ublk_chr_class destroying after devices are removed

The 'ublk_chr_class' is needed when deleting ublk char devices in
ublk_exit(), so move it after devices(idle) are removed.

Fixes the following warning reported by Harris, James R:

[  859.178950] sysfs group 'power' not found for kobject 'ublkc0'
[  859.178962] WARNING: CPU: 3 PID: 1109 at fs/sysfs/group.c:278 sysfs_remove_group+0x9c/0xb0
Reported-by: N"Harris, James R" <james.r.harris@intel.com>
Fixes: 71f28f31 ("ublk_drv: add io_uring based userspace block driver")
Link: https://lore.kernel.org/linux-block/Y9JlFmSgDl3+zy3N@T590/T/#tSigned-off-by: NMing Lei <ming.lei@redhat.com>
Tested-by: NJim Harris <james.r.harris@intel.com>
Link: https://lore.kernel.org/r/20230126115346.263344-1-ming.lei@redhat.comSigned-off-by: NJens Axboe <axboe@kernel.dk>
上级 955bc122
...@@ -2092,13 +2092,12 @@ static void __exit ublk_exit(void) ...@@ -2092,13 +2092,12 @@ static void __exit ublk_exit(void)
struct ublk_device *ub; struct ublk_device *ub;
int id; int id;
class_destroy(ublk_chr_class);
misc_deregister(&ublk_misc);
idr_for_each_entry(&ublk_index_idr, ub, id) idr_for_each_entry(&ublk_index_idr, ub, id)
ublk_remove(ub); ublk_remove(ub);
class_destroy(ublk_chr_class);
misc_deregister(&ublk_misc);
idr_destroy(&ublk_index_idr); idr_destroy(&ublk_index_idr);
unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS); unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册