alistair23-linux/fs/btrfs
Josef Bacik 43be21462d Btrfs: fix free space cache when there are pinned extents and clusters V2
I noticed a huge problem with the free space cache that was presenting
as an early ENOSPC.  Turns out when writing the free space cache out I
forgot to take into account pinned extents and more importantly
clusters.  This would result in us leaking free space everytime we
unmounted the filesystem and remounted it.

I fix this by making sure to check and see if the current block group
has a cluster and writing out any entries that are in the cluster to the
cache, as well as writing any pinned extents we currently have to the
cache since those will be available for us to use the next time the fs
mounts.

This patch also adds a check to the end of load_free_space_cache to make
sure we got the right amount of free space cache, and if not make sure
to clear the cache and re-cache the old fashioned way.

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2011-04-05 01:20:24 -04:00
..
acl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2011-02-07 14:06:18 -08:00
async-thread.c
async-thread.h
btrfs_inode.h Btrfs: change reserved_extents to an atomic_t 2011-03-17 14:21:18 -04:00
compat.h
compression.c Btrfs: check return value of btrfs_alloc_path() 2011-03-28 05:37:54 -04:00
compression.h
ctree.c Btrfs: check return value of read_tree_block() 2011-03-28 05:37:37 -04:00
ctree.h Btrfs: Fix uninitialized root flags for subvolumes 2011-04-05 01:20:24 -04:00
delayed-ref.c Btrfs: add initial tracepoint support for btrfs 2011-03-28 05:37:33 -04:00
delayed-ref.h
dir-item.c Btrfs: check return value of btrfs_alloc_path() 2011-03-28 05:37:54 -04:00
disk-io.c Btrfs: Fix uninitialized root flags for subvolumes 2011-04-05 01:20:24 -04:00
disk-io.h Btrfs: forced readonly mounts on errors 2011-01-17 15:13:08 -05:00
export.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2011-02-07 14:06:18 -08:00
export.h
extent-tree.c Btrfs: fix OOPS of empty filesystem after balance 2011-03-28 05:37:53 -04:00
extent_io.c Btrfs: add initial tracepoint support for btrfs 2011-03-28 05:37:33 -04:00
extent_io.h Btrfs: check items for correctness as we search 2011-03-17 14:21:37 -04:00
extent_map.c Btrfs: check return value of alloc_extent_map() 2011-02-14 16:21:37 -05:00
extent_map.h
file-item.c Btrfs: check return value of btrfs_alloc_path() 2011-03-28 05:37:54 -04:00
file.c Btrfs: fix compiler warning in file.c 2011-04-05 01:19:41 -04:00
free-space-cache.c Btrfs: fix free space cache when there are pinned extents and clusters V2 2011-04-05 01:20:24 -04:00
free-space-cache.h Btrfs: add btrfs_trim_fs() to handle FITRIM 2011-03-28 05:37:47 -04:00
hash.h
inode-item.c
inode-map.c Btrfs: cleanup some BUG_ON() 2011-03-28 05:37:35 -04:00
inode.c btrfs: clear __GFP_FS flag in the space cache inode 2011-04-05 01:19:43 -04:00
ioctl.c Btrfs: Fix uninitialized root flags for subvolumes 2011-04-05 01:20:24 -04:00
ioctl.h
Kconfig
locking.c
locking.h
lzo.c Btrfs: Avoid accessing unmapped kernel address 2011-02-16 15:37:58 -05:00
Makefile
ordered-data.c Btrfs: add initial tracepoint support for btrfs 2011-03-28 05:37:33 -04:00
ordered-data.h
orphan.c
print-tree.c btrfs: fix missing break in switch phrase 2011-01-28 16:40:37 -05:00
print-tree.h
ref-cache.c
ref-cache.h
relocation.c Btrfs: check return value of read_tree_block() 2011-03-28 05:37:37 -04:00
root-tree.c Btrfs: Fix uninitialized root flags for subvolumes 2011-04-05 01:20:24 -04:00
struct-funcs.c
super.c Btrfs: fix /proc/mounts info. 2011-04-05 01:19:41 -04:00
sysfs.c
transaction.c Btrfs: Fix uninitialized root flags for subvolumes 2011-04-05 01:20:24 -04:00
transaction.h
tree-defrag.c
tree-log.c btrfs: make inode ref log recovery faster 2011-03-28 05:37:48 -04:00
tree-log.h
version.h
version.sh
volumes.c Btrfs: fix __btrfs_map_block on 32 bit machines 2011-03-28 05:37:59 -04:00
volumes.h Btrfs: make btrfs_map_block() return entire free extent for each device of RAID0/1/10/DUP 2011-03-28 05:37:45 -04:00
xattr.c Btrfs: add checks to verify dir items are correct 2011-03-17 14:21:41 -04:00
xattr.h
zlib.c