lkml.org 
[lkml]   [2014]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 6/9] block: loop: don't handle REQ_FUA explicitly
Date
block core handles REQ_FUA by its flush state machine, so
won't do it in loop explicitly.

Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
drivers/block/loop.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 96f945e..96a8913 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -459,23 +459,15 @@ static int do_bio_filebacked(struct loop_device *lo, struct request *rq)
pos = ((loff_t) blk_rq_pos(rq) << 9) + lo->lo_offset;

if (rq->cmd_flags & REQ_WRITE) {
-
if (rq->cmd_flags & REQ_FLUSH)
ret = lo_req_flush(lo, rq);
-
- if (rq->cmd_flags & REQ_DISCARD) {
+ else if (rq->cmd_flags & REQ_DISCARD)
ret = lo_discard(lo, rq, pos);
- goto out;
- }
-
- ret = lo_send(lo, rq, pos);
-
- if ((rq->cmd_flags & REQ_FUA) && !ret)
- ret = lo_req_flush(lo, rq);
+ else
+ ret = lo_send(lo, rq, pos);
} else
ret = lo_receive(lo, rq, lo->lo_blocksize, pos);

-out:
return ret;
}

--
1.7.9.5


\
 
 \ /
  Last update: 2014-07-24 01:41    [W:0.104 / U:0.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site