Btrfs: fix extent state leak on failed nodatasum reads
authorJan Schmidt <list.btrfs@jan-o-sch.net>
Wed, 4 May 2011 14:18:50 +0000 (16:18 +0200)
committerChris Mason <chris.mason@oracle.com>
Fri, 10 Jun 2011 23:00:53 +0000 (19:00 -0400)
commit08d2f347e877e489ca098c87a6fd2e872fef9767
tree1bbe77e283afcc22afa1510fbf42aa27529cbadd
parent0e735872fb4b157a2fc94d4443f367e9aeb533a6
Btrfs: fix extent state leak on failed nodatasum reads

When encountering an EIO while reading from a nodatasum extent, we
insert an error record into the inode's failure tree.
btrfs_readpage_end_io_hook returns early for nodatasum inodes. We'd
better clear the failure tree in that case, otherwise the kernel
complains about

BUG extent_state: Objects remaining on kmem_cache_close()

on rmmod.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c