diff for duplicates of <1489772332.2826.6.camel@sandisk.com> diff --git a/a/1.txt b/N1/1.txt index db9cde3..5b5171b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -10,12 +10,11 @@ On Fri, 2017-03-17 at 17:57 +0800, Ming Lei wrote: > + */ > static void __blk_mq_requeue_request(struct request *rq) > { -> struct request_queue *q =3D rq->q; -> @@ -700,6 +709,19 @@ static void blk_mq_check_expired(struct blk_mq_hw_ct= -x *hctx, +> struct request_queue *q = rq->q; +> @@ -700,6 +709,19 @@ static void blk_mq_check_expired(struct blk_mq_hw_ctx *hctx, > if (!test_bit(REQ_ATOM_STARTED, &rq->atomic_flags)) > return; -> =20 +> > + /* > + * The rq being checked may have been freed and reallocated > + * out already here, we avoid this race by checking rq->deadline @@ -38,4 +37,4 @@ please consider squashing this patch into patch 1/3. Thanks, -Bart.= +Bart. diff --git a/a/content_digest b/N1/content_digest index 1ce9612..7be4018 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -23,12 +23,11 @@ "> + */\n" "> static void __blk_mq_requeue_request(struct request *rq)\n" "> {\n" - "> \tstruct request_queue *q =3D rq->q;\n" - "> @@ -700,6 +709,19 @@ static void blk_mq_check_expired(struct blk_mq_hw_ct=\n" - "x *hctx,\n" + "> \tstruct request_queue *q = rq->q;\n" + "> @@ -700,6 +709,19 @@ static void blk_mq_check_expired(struct blk_mq_hw_ctx *hctx,\n" "> \tif (!test_bit(REQ_ATOM_STARTED, &rq->atomic_flags))\n" "> \t\treturn;\n" - "> =20\n" + "> \n" "> +\t/*\n" "> +\t * The rq being checked may have been freed and reallocated\n" "> +\t * out already here, we avoid this race by checking rq->deadline\n" @@ -51,6 +50,6 @@ "\n" "Thanks,\n" "\n" - Bart.= + Bart. -95fe90d4026d8105ceedca5c46a7158fd76c308daa1aac86bbee282bf56dbec4 +6a652eb5e4a0ad97c0005f6163ecda53efe17ef0864fd56a116ac782e4fb248b
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.