From cd32b9721a91aae5b8515075cbb31eb745542b4c Mon Sep 17 00:00:00 2001 From: Stefan Behrens Date: Fri, 3 Feb 2012 11:20:04 +0100 Subject: [PATCH] --- yaml --- r: 309903 b: refs/heads/master c: 3d136a1131c66f7d26fb171e4c5b0b8baacd3129 h: refs/heads/master i: 309901: 09d5272327517d1549114f26d4e55bdb6d2cf7da 309899: 07b52004609af8c70f94c5b9357c81dbfd466a2c 309895: 58522f173d893983371689eb59fb460e71a290d5 309887: e85bfca3c86c97350c193105c22b74e9bcfa7f66 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/ctree.h | 3 +++ trunk/fs/btrfs/reada.c | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 1d5751670ce6..57887a93537b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5bdbeb2187a99d690b374a8c5ec9911fcbcfe739 +refs/heads/master: 3d136a1131c66f7d26fb171e4c5b0b8baacd3129 diff --git a/trunk/fs/btrfs/ctree.h b/trunk/fs/btrfs/ctree.h index e176f8c551f7..1c665ebe47e0 100644 --- a/trunk/fs/btrfs/ctree.h +++ b/trunk/fs/btrfs/ctree.h @@ -173,6 +173,9 @@ static int btrfs_csum_sizes[] = { 4, 0 }; #define BTRFS_FT_XATTR 8 #define BTRFS_FT_MAX 9 +/* ioprio of readahead is set to idle */ +#define BTRFS_IOPRIO_READA (IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0)) + /* * The key defines the order in the tree, and so it also defines (optimal) * block layout. diff --git a/trunk/fs/btrfs/reada.c b/trunk/fs/btrfs/reada.c index ac5d01085884..48a4882d8ad5 100644 --- a/trunk/fs/btrfs/reada.c +++ b/trunk/fs/btrfs/reada.c @@ -718,13 +718,18 @@ static void reada_start_machine_worker(struct btrfs_work *work) { struct reada_machine_work *rmw; struct btrfs_fs_info *fs_info; + int old_ioprio; rmw = container_of(work, struct reada_machine_work, work); fs_info = rmw->fs_info; kfree(rmw); + old_ioprio = IOPRIO_PRIO_VALUE(task_nice_ioclass(current), + task_nice_ioprio(current)); + set_task_ioprio(current, BTRFS_IOPRIO_READA); __reada_start_machine(fs_info); + set_task_ioprio(current, old_ioprio); } static void __reada_start_machine(struct btrfs_fs_info *fs_info)