projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Btrfs: be more polite in the async caching threads
[linux-2.6-block.git]
/
fs
/
btrfs
/
extent-tree.c
diff --git
a/fs/btrfs/extent-tree.c
b/fs/btrfs/extent-tree.c
index 2fe21fa74913448431847ef7c3090ced37df61d4..dc84daee6bc472dbc480efd7ad179933277c5eb4 100644
(file)
--- a/
fs/btrfs/extent-tree.c
+++ b/
fs/btrfs/extent-tree.c
@@
-302,10
+302,11
@@
again:
else if (ret)
break;
else if (ret)
break;
- if (need_resched()) {
+ if (need_resched() ||
+ btrfs_transaction_in_commit(fs_info)) {
btrfs_release_path(fs_info->extent_root, path);
up_read(&fs_info->extent_commit_sem);
btrfs_release_path(fs_info->extent_root, path);
up_read(&fs_info->extent_commit_sem);
-
cond_resched(
);
+
schedule_timeout(1
);
goto again;
}
goto again;
}