}
                search = btrfs_node_blockptr(node, nr);
                if ((search >= lowest_read && search <= highest_read) ||
-                   (search < lowest_read && lowest_read - search <= 32768) ||
-                   (search > highest_read && search - highest_read <= 32768)) {
+                   (search < lowest_read && lowest_read - search <= 16384) ||
+                   (search > highest_read && search - highest_read <= 16384)) {
                        readahead_tree_block(root, search, blocksize,
                                     btrfs_node_ptr_generation(node, nr));
                        nread += blocksize;
                }
                nscan++;
-               if (path->reada < 2 && (nread > (256 * 1024) || nscan > 32))
+               if (path->reada < 2 && (nread > (64 * 1024) || nscan > 32))
                        break;
-               if(nread > (1024 * 1024) || nscan > 128)
+               if(nread > (256 * 1024) || nscan > 128)
                        break;
 
                if (search < lowest_read)
 
                BUG_ON(ret);
 
                return btrfs_map_bio(BTRFS_I(inode)->root, rw, bio,
-                                    mirror_num, 1);
+                                    mirror_num, 0);
        }
        return btrfs_wq_submit_bio(BTRFS_I(inode)->root->fs_info,
                                   inode, rw, bio, mirror_num, 0,
        struct list_head *cur;
        struct btrfs_device *device;
        struct backing_dev_info *bdi;
-
+#if 0
        if ((bdi_bits & (1 << BDI_write_congested)) &&
            btrfs_congested_async(info, 0))
                return 1;
-
+#endif
        list_for_each(cur, &info->fs_devices->devices) {
                device = list_entry(cur, struct btrfs_device, dev_list);
                if (!device->bdev)