Skip to content

Commit 15152e4

Browse files
Li ZefanIngo Molnar
authored andcommitted
blktrace: report EBUSY correctly
blk_trace_remove_queue() returns EINVAL if q->blk_trace == NULL, but blk_trace_setup_queue() doesn't return EBUSY if q->blk_trace != NULL. # echo 0 > sdaX/trace/enable # echo 0 > sdaX/trace/enable bash: echo: write error: Invalid argument # echo 1 > sdaX/trace/enable # echo 1 > sdaX/trace/enable (should return EBUSY) Signed-off-by: Li Zefan <[email protected]> Acked-by: Arnaldo Carvalho de Melo <[email protected]> Acked-by: Frederic Weisbecker <[email protected]> Cc: Jens Axboe <[email protected]> Cc: Steven Rostedt <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
1 parent cbe2829 commit 15152e4

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

kernel/trace/blktrace.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1260,12 +1260,10 @@ static int blk_trace_remove_queue(struct request_queue *q)
12601260
static int blk_trace_setup_queue(struct request_queue *q, dev_t dev)
12611261
{
12621262
struct blk_trace *old_bt, *bt = NULL;
1263-
int ret;
12641263

1265-
ret = -ENOMEM;
12661264
bt = kzalloc(sizeof(*bt), GFP_KERNEL);
12671265
if (!bt)
1268-
goto err;
1266+
return -ENOMEM;
12691267

12701268
bt->dev = dev;
12711269
bt->act_mask = (u16)-1;
@@ -1276,11 +1274,10 @@ static int blk_trace_setup_queue(struct request_queue *q, dev_t dev)
12761274
if (old_bt != NULL) {
12771275
(void)xchg(&q->blk_trace, old_bt);
12781276
kfree(bt);
1279-
ret = -EBUSY;
1277+
return -EBUSY;
12801278
}
1279+
12811280
return 0;
1282-
err:
1283-
return ret;
12841281
}
12851282

12861283
/*

0 commit comments

Comments
 (0)