block, drivers: add REQ_OP_FLUSH operation
[linux-2.6-block.git] / drivers / block / loop.c
index b9b737cafd5f1836aaf16eb20e3d11154c3e0d88..364d491d4bdd4643d93329c57ea3589bc7840ddc 100644 (file)
@@ -542,7 +542,7 @@ static int do_req_filebacked(struct loop_device *lo, struct request *rq)
        pos = ((loff_t) blk_rq_pos(rq) << 9) + lo->lo_offset;
 
        if (op_is_write(req_op(rq))) {
-               if (rq->cmd_flags & REQ_FLUSH)
+               if (req_op(rq) == REQ_OP_FLUSH)
                        ret = lo_req_flush(lo, rq);
                else if (req_op(rq) == REQ_OP_DISCARD)
                        ret = lo_discard(lo, rq, pos);
@@ -1659,7 +1659,7 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx,
        if (lo->lo_state != Lo_bound)
                return -EIO;
 
-       if (lo->use_dio && (!(cmd->rq->cmd_flags & REQ_FLUSH) ||
+       if (lo->use_dio && (req_op(cmd->rq) != REQ_OP_FLUSH ||
            req_op(cmd->rq) == REQ_OP_DISCARD))
                cmd->use_aio = true;
        else