OSDN Git Service

bcache: use op_is_sync to check for synchronous requests
authorChristoph Hellwig <hch@lst.de>
Tue, 1 Nov 2016 13:40:05 +0000 (07:40 -0600)
committerJens Axboe <axboe@fb.com>
Tue, 1 Nov 2016 15:43:26 +0000 (09:43 -0600)
(and remove one layer of masking for the op_is_write call next to it).

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/md/bcache/request.c
drivers/md/bcache/writeback.h

index 40ffe5e..e8a2b69 100644 (file)
@@ -404,8 +404,8 @@ static bool check_should_bypass(struct cached_dev *dc, struct bio *bio)
 
        if (!congested &&
            mode == CACHE_MODE_WRITEBACK &&
-           op_is_write(bio_op(bio)) &&
-           (bio->bi_opf & REQ_SYNC))
+           op_is_write(bio->bi_opf) &&
+           op_is_sync(bio->bi_opf))
                goto rescale;
 
        spin_lock(&dc->io_lock);
index 301eaf5..629bd1a 100644 (file)
@@ -57,8 +57,7 @@ static inline bool should_writeback(struct cached_dev *dc, struct bio *bio,
        if (would_skip)
                return false;
 
-       return bio->bi_opf & REQ_SYNC ||
-               in_use <= CUTOFF_WRITEBACK;
+       return op_is_sync(bio->bi_opf) || in_use <= CUTOFF_WRITEBACK;
 }
 
 static inline void bch_writeback_queue(struct cached_dev *dc)