Thread (5 messages) 5 messages, 2 authors, 2019-02-01

Re: [RESEND PATCH 1/2] loop: Report EOPNOTSUPP properly

From: Bart Van Assche <bvanassche@acm.org>
Date: 2019-01-31 23:31:25
Also in: lkml

On Thu, 2019-01-31 at 14:13 -0800, Evan Green wrote:
quoted hunk ↗ jump to hunk
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,

Bart.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help