alistair23-linux/fs/btrfs
Josef Bacik f5a84ee3cd Btrfs: fallback on uncompressed io if compressed io fails
Currently compressed IO does not deal with not having its entire extent able to
be allocated.  So if we have enough free space to allocate for the extent, but
its not contiguous, it will fail spectacularly.  This patch fixes this by
falling back on uncompressed IO which lets us spread the delalloc extent across
multiple extents.  I tested this by making us randomly think the reservation had
failed to make it fallback on the uncompressed io way and it seemed to work
fine.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2009-11-11 14:20:20 -05:00
..
acl.c Btrfs: fix btrfs acl #ifdef checks 2009-10-13 13:51:39 -04:00
async-thread.c Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
async-thread.h Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
btrfs_inode.h Btrfs: avoid tree log commit when there are no changes 2009-10-13 13:35:12 -04:00
compat.h
compression.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2009-09-11 19:07:25 -04:00
compression.h
ctree.c Btrfs: check size of inode backref before adding hardlink 2009-09-24 09:17:31 -04:00
ctree.h Btrfs: add -o discard option 2009-10-14 10:32:49 -04:00
delayed-ref.c Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
delayed-ref.h Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
dir-item.c Btrfs: change how subvolumes are organized 2009-09-21 15:56:00 -04:00
disk-io.c Btrfs: avoid tree log commit when there are no changes 2009-10-13 13:35:12 -04:00
disk-io.h
export.c Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
export.h
extent-tree.c Btrfs: find ideal block group for caching 2009-11-11 14:20:19 -05:00
extent_io.c Btrfs: release delalloc reservations on extent item insertion 2009-10-08 15:21:10 -04:00
extent_io.h Btrfs: release delalloc reservations on extent item insertion 2009-10-08 15:21:10 -04:00
extent_map.c Btrfs: avoid null deref in unpin_extent_cache() 2009-11-11 14:20:18 -05:00
extent_map.h Btrfs: search for an allocation hint while filling file COW 2009-09-18 16:08:52 -04:00
file-item.c
file.c Btrfs: avoid tree log commit when there are no changes 2009-10-13 13:35:12 -04:00
free-space-cache.c Btrfs: fix how we set max_size for free space clusters 2009-11-11 14:20:17 -05:00
free-space-cache.h Btrfs: use hybrid extents+bitmap rb tree for free space 2009-07-24 09:23:30 -04:00
hash.h Btrfs: remove crc32c.h and use libcrc32c directly. 2009-06-10 11:29:53 -04:00
inode-item.c Btrfs: check size of inode backref before adding hardlink 2009-09-24 09:17:31 -04:00
inode-map.c Btrfs: do not reuse objectid of deleted snapshot/subvol 2009-09-21 15:56:00 -04:00
inode.c Btrfs: fallback on uncompressed io if compressed io fails 2009-11-11 14:20:20 -05:00
ioctl.c Btrfs: fix file clone ioctl for bookend extents 2009-10-09 11:29:53 -04:00
ioctl.h Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
Kconfig
locking.c
locking.h
Makefile Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
ordered-data.c Btrfs: release delalloc reservations on extent item insertion 2009-10-08 15:21:10 -04:00
ordered-data.h Btrfs: Use PagePrivate2 to track pages in the data=ordered code. 2009-09-11 13:31:07 -04:00
orphan.c Btrfs: change how subvolumes are organized 2009-09-21 15:56:00 -04:00
print-tree.c Btrfs: remove of redundant btrfs_header_level 2009-07-22 16:52:13 -04:00
print-tree.h
ref-cache.c
ref-cache.h
relocation.c Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
root-tree.c Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root 2009-11-11 14:20:18 -05:00
struct-funcs.c
super.c Btrfs: add -o discard option 2009-10-14 10:32:49 -04:00
sysfs.c
transaction.c Btrfs: cleanup transaction starting and fix journal_info usage 2009-11-11 14:20:16 -05:00
transaction.h Btrfs: streamline tree-log btree block writeout 2009-10-13 13:35:12 -04:00
tree-defrag.c
tree-log.c Btrfs: properly wait log writers during log sync 2009-10-14 10:32:48 -04:00
tree-log.h Btrfs: avoid tree log commit when there are no changes 2009-10-13 13:35:12 -04:00
version.h
version.sh
volumes.c Btrfs: introduce missing kfree 2009-09-29 13:51:04 -04:00
volumes.h Btrfs: make balance code choose more wisely when relocating 2009-09-21 19:23:48 -04:00
xattr.c Btrfs: fix btrfs acl #ifdef checks 2009-10-13 13:51:39 -04:00
xattr.h
zlib.c Btrfs: correct error-handling zlib error handling 2009-08-07 13:51:33 -04:00