kernel_optimize_test/fs/btrfs
Chris Mason 11ef160fda Btrfs: fix releasepage to avoid unlocking extents we haven't locked
During releasepage, we try to drop any extent_state structs for the
bye offsets of the page we're releaseing.  But the code was incorrectly
telling clear_extent_bit to delete the state struct unconditionallly.

Normally this would be fine because we have the page locked, but other
parts of btrfs will lock down an entire extent, the most common place
being IO completion.

releasepage was deleting the extent state without first locking the extent,
which may result in removing a state struct that another process had
locked down.  The fix here is to leave the NODATASUM and EXTENT_LOCKED
bits alone in releasepage.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2009-09-23 20:30:53 -04:00
..
acl.c helpers for acl caching + switch to those 2009-06-24 08:17:07 -04:00
async-thread.c Btrfs: Fix async thread shutdown race 2009-09-15 20:20:17 -04:00
async-thread.h Btrfs: keep irqs on more often in the worker threads 2009-09-11 13:31:04 -04:00
btrfs_inode.h Btrfs: change how subvolumes are organized 2009-09-21 15:56:00 -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: Avoid delayed reference update looping 2009-07-24 12:42:46 -04:00
ctree.h Btrfs: account for space used by the super mirrors 2009-09-21 19:23:50 -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: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
disk-io.h
export.c Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
export.h
extent_io.c Btrfs: fix releasepage to avoid unlocking extents we haven't locked 2009-09-23 20:30:53 -04:00
extent_io.h Btrfs: Use PagePrivate2 to track pages in the data=ordered code. 2009-09-11 13:31:07 -04:00
extent_map.c Btrfs: search for an allocation hint while filling file COW 2009-09-18 16:08:52 -04:00
extent_map.h Btrfs: search for an allocation hint while filling file COW 2009-09-18 16:08:52 -04:00
extent-tree.c Btrfs: fix early enospc during balancing 2009-09-22 14:48:44 -04:00
file-item.c
file.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
free-space-cache.c Btrfs: fix extent entry threshold calculation 2009-09-21 19:23:50 -04: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: do not reuse objectid of deleted snapshot/subvol 2009-09-21 15:56:00 -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: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
ioctl.c Btrfs: fix arithmetic error in clone ioctl 2009-09-21 16:00:27 -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: Use PagePrivate2 to track pages in the data=ordered code. 2009-09-11 13:31:07 -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: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
root-tree.c Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
struct-funcs.c
super.c Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
sysfs.c
transaction.c Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
transaction.h Btrfs: be more polite in the async caching threads 2009-07-30 10:14:46 -04:00
tree-defrag.c
tree-log.c Btrfs: add snapshot/subvolume destroy ioctl 2009-09-21 16:00:26 -04:00
tree-log.h
version.h
version.sh
volumes.c Btrfs: make balance code choose more wisely when relocating 2009-09-21 19:23:48 -04:00
volumes.h Btrfs: make balance code choose more wisely when relocating 2009-09-21 19:23:48 -04:00
xattr.c
xattr.h
zlib.c Btrfs: correct error-handling zlib error handling 2009-08-07 13:51:33 -04:00