diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-08-23 14:50:29 +0200 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-03-18 01:51:05 +0100 |
commit | 91954a06c1b942d23aa9bbbda4b22daab885ddd1 (patch) | |
tree | 7ecfa2b29c3dde17fd2b80cb5d7b768769b81454 /fs/gfs2/meta_io.c | |
parent | 8d8a3ff29b9a29de28a18c801e29645c4383322a (diff) | |
download | kernel_samsung_smdk4412-91954a06c1b942d23aa9bbbda4b22daab885ddd1.zip kernel_samsung_smdk4412-91954a06c1b942d23aa9bbbda4b22daab885ddd1.tar.gz kernel_samsung_smdk4412-91954a06c1b942d23aa9bbbda4b22daab885ddd1.tar.bz2 |
block: separate priority boosting from REQ_META
Add a new REQ_PRIO to let requests preempt others in the cfq I/O schedule,
and lave REQ_META purely for marking requests as metadata in blktrace.
All existing callers of REQ_META except for XFS are updated to also
set REQ_PRIO for now.
Backported to 3.0.x by Ketut Putu Kumajaya <ketut.kumajaya@gmail.com>
Change-Id: Iad5ba7a105438776f74788c0aedaf85210c613f9
Diffstat (limited to 'fs/gfs2/meta_io.c')
-rw-r--r-- | fs/gfs2/meta_io.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c index 747238c..be29858 100644 --- a/fs/gfs2/meta_io.c +++ b/fs/gfs2/meta_io.c @@ -37,7 +37,7 @@ static int gfs2_aspace_writepage(struct page *page, struct writeback_control *wb { struct buffer_head *bh, *head; int nr_underway = 0; - int write_op = REQ_META | + int write_op = REQ_META | REQ_PRIO | (wbc->sync_mode == WB_SYNC_ALL ? WRITE_SYNC : WRITE); BUG_ON(!PageLocked(page)); @@ -225,7 +225,7 @@ int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags, } bh->b_end_io = end_buffer_read_sync; get_bh(bh); - submit_bh(READ_SYNC | REQ_META, bh); + submit_bh(READ_SYNC | REQ_META | REQ_PRIO, bh); if (!(flags & DIO_WAIT)) return 0; @@ -435,7 +435,7 @@ struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32 extlen) if (buffer_uptodate(first_bh)) goto out; if (!buffer_locked(first_bh)) - ll_rw_block(READ_SYNC | REQ_META, 1, &first_bh); + ll_rw_block(READ_SYNC | REQ_META | REQ_PRIO, 1, &first_bh); dblock++; extlen--; |