On 03/29/2017 03:32 PM, Bart Van Assche wrote: > Make it possible to check whether or not a block layer queue has > been stopped. Make it possible to start and to run a blk-mq queue > from user space. Looks good, minor nitpicking below. > +static int blk_queue_flags_show(struct seq_file *m, void *v) > +{ > + struct request_queue *q = m->private; > + bool sep = false; > + int i; > + > + for (i = 0; i < sizeof(q->queue_flags) * BITS_PER_BYTE; i++) { > + if (!(q->queue_flags & BIT(i))) > + continue; > + if (sep) > + seq_puts(m, " "); > + sep = true; Put that sep = true in the else branch? > + if (strcmp(op, "run") == 0) { > + blk_mq_run_hw_queues(q, true); > + } else if (strcmp(op, "start") == 0) { > + blk_mq_start_stopped_hw_queues(q, true); > + } else { > + pr_err("%s: unsupported operation %s\n", __func__, op); > + return -EINVAL; > + } You are inconsistent with your braces. I'd prefer no braces for single lines. Should the error case include valid commands? It'd be nice to have this available, and not have to resort to looking at the source to figure out what commands are available. -- Jens Axboe