linux-stable-rt/fs/btrfs
Josef Bacik 4e06bdd6cb Btrfs: try committing transaction before returning ENOSPC
This fixes a problem where we could return -ENOSPC when we may actually have
plenty of space, the space is just pinned.  Instead of returning -ENOSPC
immediately, commit the transaction first and then try and do the allocation
again.

This patch also does chunk allocation for metadata if we pass the 80%
threshold for metadata space.  This will help with stack usage since the chunk
allocation will happen early on, instead of when the allocation is happening.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
2009-02-20 10:59:53 -05:00
..
Kconfig Btrfs: make btrfs acls selectable 2009-02-04 09:28:28 -05:00
Makefile
acl.c
async-thread.c Btrfs: async threads should try harder to find work 2009-02-04 09:23:24 -05:00
async-thread.h
btrfs_inode.h Btrfs: add better -ENOSPC handling 2009-02-20 11:00:09 -05:00
compat.h
compression.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
compression.h
crc32c.h Btrfs: Drop the hardware crc32c asm code 2009-01-07 19:56:59 -05:00
ctree.c Btrfs: make a lockdep class for the extent buffer locks 2009-02-12 14:09:45 -05:00
ctree.h Btrfs: add better -ENOSPC handling 2009-02-20 11:00:09 -05:00
dir-item.c
disk-io.c Btrfs: make a lockdep class for the extent buffer locks 2009-02-12 14:09:45 -05:00
disk-io.h Btrfs: make a lockdep class for the extent buffer locks 2009-02-12 14:09:45 -05:00
export.c
export.h
extent-tree.c Btrfs: try committing transaction before returning ENOSPC 2009-02-20 10:59:53 -05:00
extent_io.c Btrfs: remove unused code in split_state() 2009-02-12 14:25:23 -05:00
extent_io.h Btrfs: Change btree locking to use explicit blocking points 2009-02-04 09:25:08 -05:00
extent_map.c Btrfs: removed unused #include <version.h>'s 2009-01-21 10:49:16 -05:00
extent_map.h
file-item.c Btrfs: tree logging checksum fixes 2009-01-06 11:42:00 -05:00
file.c Btrfs: add better -ENOSPC handling 2009-02-20 11:00:09 -05:00
free-space-cache.c
hash.h
inode-item.c
inode-map.c Btrfs: remove btrfs_init_path 2009-02-12 14:11:25 -05:00
inode.c Btrfs: add better -ENOSPC handling 2009-02-20 11:00:09 -05:00
ioctl.c Btrfs: add better -ENOSPC handling 2009-02-20 11:00:09 -05:00
ioctl.h Btrfs: fix ioctl arg size (userland incompatible change!) 2009-01-16 11:59:08 -05:00
locking.c Btrfs: make a lockdep class for the extent buffer locks 2009-02-12 14:09:45 -05:00
locking.h Btrfs: don't use spin_is_contended 2009-02-09 16:22:03 -05:00
ordered-data.c Btrfs: simplify iteration codes 2009-01-21 10:59:08 -05:00
ordered-data.h
orphan.c
print-tree.c
print-tree.h
ref-cache.c Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks 2009-02-04 09:27:02 -05:00
ref-cache.h Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks 2009-02-04 09:27:02 -05:00
root-tree.c
struct-funcs.c
super.c Btrfs: don't clean old snapshots on sync(1) 2009-02-12 09:45:08 -05:00
sysfs.c
transaction.c Btrfs: hold trans_mutex when using btrfs_record_root_in_trans 2009-02-12 14:14:53 -05:00
transaction.h
tree-defrag.c Btrfs: Change btree locking to use explicit blocking points 2009-02-04 09:25:08 -05:00
tree-log.c Btrfs: hold trans_mutex when using btrfs_record_root_in_trans 2009-02-12 14:14:53 -05:00
tree-log.h
version.h
version.sh
volumes.c Btrfs: make a lockdep class for the extent buffer locks 2009-02-12 14:09:45 -05:00
volumes.h
xattr.c Btrfs: selinux support 2009-02-04 09:29:13 -05:00
xattr.h Btrfs: selinux support 2009-02-04 09:29:13 -05:00
zlib.c