summaryrefslogtreecommitdiff
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2013-04-20 15:46:17 -0400
committerTheodore Ts'o <tytso@mit.edu>2013-04-20 15:46:17 -0400
commit9f203507ed277ee86e3f76a15e09db1c92e40b94 (patch)
tree3055dbd2f6a885b20db3fda1d56ea0d9e780d9dd /fs/ext4/super.c
parentc4d8b0235aa98f8c26bf94d308be3fdd24154572 (diff)
downloadkernel-common-9f203507ed277ee86e3f76a15e09db1c92e40b94.tar.gz
kernel-common-9f203507ed277ee86e3f76a15e09db1c92e40b94.tar.bz2
kernel-common-9f203507ed277ee86e3f76a15e09db1c92e40b94.zip
ext4: mark all metadata I/O with REQ_META
As Dave Chinner pointed out at the 2013 LSF/MM workshop, it's important that metadata I/O requests are marked as such to avoid priority inversions caused by I/O bandwidth throttling. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index bfa29ecfb47a..dbc7c090c13a 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4252,7 +4252,7 @@ static journal_t *ext4_get_dev_journal(struct super_block *sb,
goto out_bdev;
}
journal->j_private = sb;
- ll_rw_block(READ, 1, &journal->j_sb_buffer);
+ ll_rw_block(READ | REQ_META | REQ_PRIO, 1, &journal->j_sb_buffer);
wait_on_buffer(journal->j_sb_buffer);
if (!buffer_uptodate(journal->j_sb_buffer)) {
ext4_msg(sb, KERN_ERR, "I/O error on journal device");