summaryrefslogtreecommitdiff
path: root/fs/gfs2/super.c
diff options
context:
space:
mode:
authorColy Li <colyli@suse.de>2017-07-21 07:48:22 -0500
committerBob Peterson <rpeterso@redhat.com>2017-07-21 07:48:22 -0500
commite477b24b507998bc6568316a2e034025960d2404 (patch)
tree376f7b94c634610b998d2befbb20868aef6d8d3c /fs/gfs2/super.c
parente7cb550d79fba5876616ed33ccafafc4e2bd7e2e (diff)
downloadlwn-e477b24b507998bc6568316a2e034025960d2404.tar.gz
lwn-e477b24b507998bc6568316a2e034025960d2404.zip
gfs2: add flag REQ_PRIO for metadata I/O
When gfs2 does metadata I/O, only REQ_META is used as a metadata hint of the bio. But flag REQ_META is just a hint for block trace, not for block layer code to handle a bio as metadata request. For some of metadata I/Os of gfs2, A REQ_PRIO flag on the metadata bio would be very informative to block layer code. For example, if bcache is used as a I/O cache for gfs2, it will be possible for bcache code to get the hint and cache the pre-fetched metadata blocks on cache device. This behavior may be helpful to improve metadata I/O performance if the following requests hit the cache. Here are the locations in gfs2 code where a REQ_PRIO flag should be added, - All places where REQ_READAHEAD is used, gfs2 code uses this flag for metadata read ahead. - In gfs2_meta_rq() where the first metadata block is read in. - In gfs2_write_buf_to_page(), read in quota metadata blocks to have them up to date. These metadata blocks are probably to be accessed again in future, adding a REQ_PRIO flag may have bcache to keep such metadata in fast cache device. For system without a cache layer, REQ_PRIO can still provide hint to block layer to handle metadata requests more properly. Signed-off-by: Coly Li <colyli@suse.de> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2/super.c')
0 files changed, 0 insertions, 0 deletions