On 2017/7/4 上午6:51, bcache@xxxxxxxxxxxxxxxxxx wrote: > From: Eric Wheeler <git@xxxxxxxxxxxxxxxxxx> > > Flag for bypass if the IO is for read-ahead or background, unless the > read-ahead request is for metadata (eg, from gfs2). > Bypass if: > bio->bi_opf & (REQ_RAHEAD|REQ_BACKGROUND) && !(bio->bi_opf & REQ_META)) > > Writeback if: > op_is_sync(bio->bi_opf) || bio->bi_opf & (REQ_META|REQ_PRIO) > > Signed-off-by: Eric Wheeler <bcache@xxxxxxxxxxxxxxxxxx> Reviewed-by: Coly Li <colyli@xxxxxxx> I don't have any more suggestion, thanks. Coly > --- > drivers/md/bcache/request.c | 7 +++++++ > drivers/md/bcache/writeback.h | 3 ++- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c > index a95609f..859d08d 100644 > --- a/drivers/md/bcache/request.c > +++ b/drivers/md/bcache/request.c > @@ -386,6 +386,13 @@ static bool check_should_bypass(struct cached_dev *dc, struct bio *bio) > op_is_write(bio_op(bio)))) > goto skip; > > + /* Flag for bypass if the IO is for read-ahead or background, > + * unless the read-ahead request is for metadata (eg, for gfs2). > + */ > + if (bio->bi_opf & (REQ_RAHEAD|REQ_BACKGROUND) && > + !(bio->bi_opf & REQ_META)) > + goto skip; > + > /* If the ioprio already exists on the bio, use that. We assume that > * the upper layer properly assigned the calling process's ioprio to > * the bio being passed to bcache. Otherwise, use current's ioc. */ > diff --git a/drivers/md/bcache/writeback.h b/drivers/md/bcache/writeback.h > index cd82fe8..ea2f92e 100644 > --- a/drivers/md/bcache/writeback.h > +++ b/drivers/md/bcache/writeback.h > @@ -81,7 +81,8 @@ static inline bool should_writeback(struct cached_dev *dc, struct bio *bio, > return true; > } > > - return op_is_sync(bio->bi_opf) || in_use <= CUTOFF_WRITEBACK; > + return op_is_sync(bio->bi_opf) || bio->bi_opf & (REQ_META|REQ_PRIO) > + || in_use <= CUTOFF_WRITEBACK; > } > > static inline void bch_writeback_queue(struct cached_dev *dc) -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html