hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/block/blk-mq-sysfs.c
....@@ -242,7 +242,7 @@
242242 {
243243 struct request_queue *q = hctx->queue;
244244 struct blk_mq_ctx *ctx;
245
- int i, ret;
245
+ int i, j, ret;
246246
247247 if (!hctx->nr_ctx)
248248 return 0;
....@@ -254,9 +254,16 @@
254254 hctx_for_each_ctx(hctx, ctx, i) {
255255 ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu);
256256 if (ret)
257
- break;
257
+ goto out;
258258 }
259259
260
+ return 0;
261
+out:
262
+ hctx_for_each_ctx(hctx, ctx, j) {
263
+ if (j < i)
264
+ kobject_del(&ctx->kobj);
265
+ }
266
+ kobject_del(&hctx->kobj);
260267 return ret;
261268 }
262269