remarkable-linux/fs/btrfs
Josef Bacik d53ba47484 Btrfs: use commit root when loading free space cache
A user reported that booting his box up with btrfs root on 3.4 was way
slower than on 3.3 because I removed the ideal caching code.  It turns out
that we don't load the free space cache if we're in a commit for deadlock
reasons, but since we're reading the cache and it hasn't changed yet we are
safe reading the inode and free space item from the commit root, so do that
and remove all of the deadlock checks so we don't unnecessarily skip loading
the free space cache.  The user reported this fixed the slowness.  Thanks,

Tested-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2012-04-12 20:54:01 -04:00
..
acl.c Btrfs: fix return value of btrfs_get_acl() 2011-10-20 18:10:47 +02:00
async-thread.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
async-thread.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
backref.c Merge git://git.jan-o-sch.net/btrfs-unstable into for-linus 2012-03-28 20:33:40 -04:00
backref.h Btrfs: fix regression in scrub path resolving 2012-03-27 14:51:21 +02:00
btrfs_inode.h Btrfs: add a delalloc mutex to inodes for delalloc reservations 2012-01-16 15:29:43 -05:00
check-integrity.c Btrfs: fix compiler warnings on 32 bit systems 2012-02-24 10:39:05 -05:00
check-integrity.h Btrfs: add optional integrity check code 2011-12-21 19:14:09 +01:00
compat.h Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code 2009-01-06 09:38:55 -05:00
compression.c Btrfs: check return value of bio_alloc() properly 2012-04-12 16:03:56 -04:00
compression.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
ctree.c Merge branch 'error-handling' into for-linus 2012-03-28 20:31:37 -04:00
ctree.h Merge branch 'for-chris' of git://github.com/idryomov/btrfs-unstable into for-linus 2012-03-28 20:32:46 -04:00
delayed-inode.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
delayed-inode.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
delayed-ref.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
delayed-ref.h Btrfs: add waitqueue instead of doing busy waiting for more delayed refs 2012-01-04 16:12:48 +01:00
dir-item.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
disk-io.c Btrfs: update the checks for mixed block groups with big metadata blocks 2012-03-29 17:02:47 -04:00
disk-io.h btrfs: enhance transaction abort infrastructure 2012-03-22 01:45:40 +01:00
export.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
export.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
extent-tree.c Btrfs: use commit root when loading free space cache 2012-04-12 20:54:01 -04:00
extent_io.c Btrfs: check return value of bio_alloc() properly 2012-04-12 16:03:56 -04:00
extent_io.h Merge branch 'error-handling' into for-linus 2012-03-28 20:31:37 -04:00
extent_map.c Btrfs: clean up code for merging extent maps 2011-08-01 14:30:50 -04:00
extent_map.h btrfs: fix structs where bitfields and spinlock/atomic share 8B word 2012-02-15 16:40:25 +01:00
file-item.c Btrfs: don't use crc items bigger than 4KB 2012-03-28 20:34:10 -04:00
file.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
free-space-cache.c Btrfs: use commit root when loading free space cache 2012-04-12 20:54:01 -04:00
free-space-cache.h btrfs: remove all unused functions 2011-05-06 12:34:03 +02:00
hash.h Btrfs: remove crc32c.h and use libcrc32c directly. 2009-06-10 11:29:53 -04:00
inode-item.c Merge branch 'error-handling' into for-linus 2012-03-28 20:31:37 -04:00
inode-map.c Btrfs: show useful info in space reservation tracepoint 2012-03-29 09:57:44 -04:00
inode-map.h Btrfs: Support reading/writing on disk free ino cache 2011-04-25 16:46:11 +08:00
inode.c Btrfs: fix recursive defragment with autodefrag option 2012-03-29 09:57:45 -04:00
ioctl.c Btrfs: update to the right index of defragment 2012-03-29 09:57:45 -04:00
ioctl.h Btrfs: add balance progress reporting 2012-01-16 22:04:49 +02:00
Kconfig Btrfs: add config option to enable btrfs integrity check 2011-12-21 19:14:16 +01:00
locking.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
locking.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
lzo.c Btrfs: Avoid accessing unmapped kernel address 2011-02-16 15:37:58 -05:00
Makefile Merge branch 'integrity-check-patch-v2' of git://btrfs.giantdisaster.de/git/btrfs into integration 2012-01-16 15:27:58 -05:00
ordered-data.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
ordered-data.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
orphan.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
print-tree.c btrfs: fix oops on failure path 2011-10-20 18:10:50 +02:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
reada.c Btrfs: introduce common define for max number of mirrors 2012-03-27 14:21:26 -04:00
relocation.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
root-tree.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
scrub.c Btrfs: check return value of bio_alloc() properly 2012-04-12 16:03:56 -04:00
struct-funcs.c Btrfs: add the ability to cache a pointer into the eb 2012-03-26 17:04:23 -04:00
super.c Merge git://git.jan-o-sch.net/btrfs-unstable into for-linus 2012-03-28 20:33:40 -04:00
sysfs.c btrfs: Remove unused sysfs code 2011-06-17 14:54:18 -04:00
transaction.c Btrfs: fix use-after-free in __btrfs_end_transaction 2012-04-12 16:03:56 -04:00
transaction.h btrfs: enhance transaction abort infrastructure 2012-03-22 01:45:40 +01:00
tree-defrag.c btrfs: drop unused parameter from btrfs_release_path 2011-05-02 13:57:22 +02:00
tree-log.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
tree-log.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
ulist.c Btrfs: generic data structure to build unique lists 2011-12-22 16:22:24 +01:00
ulist.h Btrfs: generic data structure to build unique lists 2011-12-22 16:22:24 +01:00
version.h Update Btrfs files for in-kernel usage 2008-09-25 15:41:59 -04:00
volumes.c Btrfs: fix eof while discarding extents 2012-04-12 16:03:56 -04:00
volumes.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
xattr.c Btrfs: do not use btrfs_end_transaction_throttle everywhere 2012-01-16 15:28:54 -05:00
xattr.h fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00
zlib.c zlib: slim down zlib_deflate() workspace when possible 2011-03-22 17:44:17 -07:00