]> Pileus Git - ~andy/linux/blobdiff - block/blk-flush.c
allow blk_flush_policy to return REQ_FSEQ_DATA independent of *FLUSH
[~andy/linux] / block / blk-flush.c
index bb21e4c36f70ca437162356edd87d2ce3a265a46..2d162bd840d35cc5925f5922aae8feb6191496de 100644 (file)
@@ -95,11 +95,12 @@ static unsigned int blk_flush_policy(unsigned int fflags, struct request *rq)
 {
        unsigned int policy = 0;
 
+       if (blk_rq_sectors(rq))
+               policy |= REQ_FSEQ_DATA;
+
        if (fflags & REQ_FLUSH) {
                if (rq->cmd_flags & REQ_FLUSH)
                        policy |= REQ_FSEQ_PREFLUSH;
-               if (blk_rq_sectors(rq))
-                       policy |= REQ_FSEQ_DATA;
                if (!(fflags & REQ_FUA) && (rq->cmd_flags & REQ_FUA))
                        policy |= REQ_FSEQ_POSTFLUSH;
        }