Displaying 5 results from an estimated 5 matches for "req_mq_inflight".
2014 Sep 18
3
[PATCH] blk-mq: Avoid race condition with uninitialized requests
This patch should fix the bug reported in https://lkml.org/lkml/2014/9/11/249.
Test is still pending.
David Hildenbrand (1):
  blk-mq: Avoid race condition with uninitialized requests
 block/blk-mq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
-- 
1.8.5.5
2014 Sep 18
3
[PATCH] blk-mq: Avoid race condition with uninitialized requests
This patch should fix the bug reported in https://lkml.org/lkml/2014/9/11/249.
Test is still pending.
David Hildenbrand (1):
  blk-mq: Avoid race condition with uninitialized requests
 block/blk-mq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
-- 
1.8.5.5
2014 Sep 18
0
[PATCH] blk-mq: Avoid race condition with uninitialized requests
...100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -203,7 +203,6 @@ __blk_mq_alloc_request(struct blk_mq_alloc_data *data, int rw)
 	if (tag != BLK_MQ_TAG_FAIL) {
 		rq = data->hctx->tags->rqs[tag];
 
-		rq->cmd_flags = 0;
 		if (blk_mq_tag_busy(data->hctx)) {
 			rq->cmd_flags = REQ_MQ_INFLIGHT;
 			atomic_inc(&data->hctx->nr_active);
@@ -258,6 +257,7 @@ static void __blk_mq_free_request(struct blk_mq_hw_ctx *hctx,
 
 	if (rq->cmd_flags & REQ_MQ_INFLIGHT)
 		atomic_dec(&hctx->nr_active);
+	rq->cmd_flags = 0;
 
 	clear_bit(REQ_ATOM_STARTED, &rq->atomic_fla...
2014 Sep 22
1
[PATCH] blk-mq: Avoid race condition with uninitialized requests
...block/blk-mq.c
> @@ -203,7 +203,6 @@ __blk_mq_alloc_request(struct blk_mq_alloc_data *data, int rw)
>  	if (tag != BLK_MQ_TAG_FAIL) {
>  		rq = data->hctx->tags->rqs[tag];
> 
> -		rq->cmd_flags = 0;
>  		if (blk_mq_tag_busy(data->hctx)) {
>  			rq->cmd_flags = REQ_MQ_INFLIGHT;
>  			atomic_inc(&data->hctx->nr_active);
> @@ -258,6 +257,7 @@ static void __blk_mq_free_request(struct blk_mq_hw_ctx *hctx,
> 
>  	if (rq->cmd_flags & REQ_MQ_INFLIGHT)
>  		atomic_dec(&hctx->nr_active);
> +	rq->cmd_flags = 0;
> 
>  	clear_bit(RE...
2014 Sep 22
1
[PATCH] blk-mq: Avoid race condition with uninitialized requests
...block/blk-mq.c
> @@ -203,7 +203,6 @@ __blk_mq_alloc_request(struct blk_mq_alloc_data *data, int rw)
>  	if (tag != BLK_MQ_TAG_FAIL) {
>  		rq = data->hctx->tags->rqs[tag];
> 
> -		rq->cmd_flags = 0;
>  		if (blk_mq_tag_busy(data->hctx)) {
>  			rq->cmd_flags = REQ_MQ_INFLIGHT;
>  			atomic_inc(&data->hctx->nr_active);
> @@ -258,6 +257,7 @@ static void __blk_mq_free_request(struct blk_mq_hw_ctx *hctx,
> 
>  	if (rq->cmd_flags & REQ_MQ_INFLIGHT)
>  		atomic_dec(&hctx->nr_active);
> +	rq->cmd_flags = 0;
> 
>  	clear_bit(RE...