linux-stable-rt/fs/btrfs
Chris Mason ba1da2f442 Btrfs: Don't pin pages in ram until the entire ordered extent is on disk.
Checksum items are not inserted until the entire ordered extent is on disk,
but individual pages might be clean and available for reclaim long before
the whole extent is on disk.

In order to allow those pages to be freed, we need to be able to search
the list of ordered extents to find the checksum that is going to be inserted
in the tree.  This way if the page needs to be read back in before
the checksums are in the btree, we'll be able to verify the checksum on
the page.

This commit adds the ability to search the pending ordered extents for
a given offset in the file, and changes btrfs_releasepage to allow
ordered pages to be freed.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:04:04 -04:00
..
COPYING
INSTALL
Makefile Btrfs: Start btree concurrency work. 2008-09-25 11:04:03 -04:00
TODO
acl.c
async-thread.c Btrfs: Worker thread optimizations 2008-09-25 11:04:03 -04:00
async-thread.h Btrfs: Worker thread optimizations 2008-09-25 11:04:03 -04:00
bit-radix.c
bit-radix.h
btrfs_inode.h Btrfs: Update on disk i_size only after pending ordered extents are done 2008-09-25 11:04:04 -04:00
compat.h Btrfs: Add workaround for AppArmor changing remove_suid() 2008-09-25 11:04:02 -04:00
crc32c.h Btrfs: Endianess bug fix for v0.13 with kernels 2008-09-25 11:04:01 -04:00
ctree.c Btrfs: Add locking around volume management (device add/remove/balance) 2008-09-25 11:04:04 -04:00
ctree.h btrfs_start_transaction: wait for commits in progress to finish 2008-09-25 11:04:04 -04:00
dir-item.c
disk-io.c btrfs_start_transaction: wait for commits in progress to finish 2008-09-25 11:04:04 -04:00
disk-io.h Btrfs: Online btree defragmentation fixes 2008-09-25 11:04:04 -04:00
extent-tree.c Btrfs: New data=ordered implementation 2008-09-25 11:04:04 -04:00
extent_io.c Btrfs: Use async helpers to deal with pages that have been improperly dirtied 2008-09-25 11:04:04 -04:00
extent_io.h Btrfs: Use async helpers to deal with pages that have been improperly dirtied 2008-09-25 11:04:04 -04:00
extent_map.c Btrfs: New data=ordered implementation 2008-09-25 11:04:04 -04:00
extent_map.h
file-item.c Btrfs: New data=ordered implementation 2008-09-25 11:04:04 -04:00
file.c Btrfs: Don't pin pages in ram until the entire ordered extent is on disk. 2008-09-25 11:04:04 -04:00
hash.c
hash.h
inode-item.c
inode-map.c Btrfs: Replace the big fs_mutex with a collection of other locks 2008-09-25 11:04:03 -04:00
inode.c Btrfs: Don't pin pages in ram until the entire ordered extent is on disk. 2008-09-25 11:04:04 -04:00
ioctl.c Btrfs: Add locking around volume management (device add/remove/balance) 2008-09-25 11:04:04 -04:00
ioctl.h Btrfs: transaction ioctls 2008-09-25 11:04:03 -04:00
locking.c Btrfs: Reduce contention on the root node 2008-09-25 11:04:04 -04:00
locking.h Btrfs: Start btree concurrency work. 2008-09-25 11:04:03 -04:00
ordered-data.c Btrfs: Don't pin pages in ram until the entire ordered extent is on disk. 2008-09-25 11:04:04 -04:00
ordered-data.h Btrfs: Don't pin pages in ram until the entire ordered extent is on disk. 2008-09-25 11:04:04 -04:00
print-tree.c Btrfs: Pass down the expected generation number when reading tree blocks 2008-09-25 11:04:03 -04:00
print-tree.h
root-tree.c Btrfs: Fix deadlock while searching for dead roots on mount 2008-09-25 11:04:04 -04:00
struct-funcs.c
super.c Btrfs: Online btree defragmentation fixes 2008-09-25 11:04:04 -04:00
sysfs.c
transaction.c btrfs_start_transaction: wait for commits in progress to finish 2008-09-25 11:04:04 -04:00
transaction.h btrfs_start_transaction: wait for commits in progress to finish 2008-09-25 11:04:04 -04:00
tree-defrag.c Btrfs: Online btree defragmentation fixes 2008-09-25 11:04:04 -04:00
volumes.c Btrfs: Add locking around volume management (device add/remove/balance) 2008-09-25 11:04:04 -04:00
volumes.h Btrfs: Add async worker threads for pre and post IO checksumming 2008-09-25 11:04:03 -04:00
xattr.c Btrfs: Replace the big fs_mutex with a collection of other locks 2008-09-25 11:04:03 -04:00
xattr.h