Re: [RESEND PATCH 1/2] loop: Report EOPNOTSUPP properly
From: Evan Green <hidden>
Date: 2019-02-01 18:19:40
Also in:
lkml
From: Evan Green <hidden>
Date: 2019-02-01 18:19:40
Also in:
lkml
On Thu, Jan 31, 2019 at 3:31 PM Bart Van Assche [off-list ref] wrote:
On Thu, 2019-01-31 at 14:13 -0800, Evan Green wrote:quoted
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index cf5538942834..a1ba555e3b92 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c@@ -458,8 +458,13 @@ static void lo_complete_rq(struct request *rq) if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) || req_op(rq) != REQ_OP_READ) { - if (cmd->ret < 0) - ret = BLK_STS_IOERR; + if (cmd->ret < 0) { + if (cmd->ret == -EOPNOTSUPP) + ret = BLK_STS_NOTSUPP; + else + ret = BLK_STS_IOERR; + }Please do not nest if-conditions if that is not necessary. I think the above code can be written more clearly as follows: if (cmd->ret == -ENOTSUPP) ret = BLK_STS_NOTSUPP; else if (cmd->ret < 0) ret = BLK_STS_IOERR;
Thanks for taking a look Bart. Will fix. -Evan