Btrfs: stop caching thread if extent_commit_sem is contended
[profile/ivi/kernel-x86-ivi.git] / fs / btrfs / extent-tree.c
index 1c82bea..3d19dcc 100644 (file)
@@ -442,7 +442,8 @@ next:
                        if (ret)
                                break;
 
-                       if (need_resched()) {
+                       if (need_resched() ||
+                           rwsem_is_contended(&fs_info->extent_commit_sem)) {
                                caching_ctl->progress = last;
                                btrfs_release_path(path);
                                up_read(&fs_info->extent_commit_sem);