Btrfs: allocate extent state and check the result properly
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Wed, 20 Apr 2011 06:44:57 +0000 (06:44 +0000)
committerChris Mason <chris.mason@oracle.com>
Mon, 23 May 2011 17:24:41 +0000 (13:24 -0400)
commit8233767a227ac5843f1023b88c7272a7b5058f5f
treee37bb379b90d9754035021ad042de1970a5106fc
parentb083916638eee513be501f53b42a4be0b9851db0
Btrfs: allocate extent state and check the result properly

It doesn't allocate extent_state and check the result properly:
- in set_extent_bit, it doesn't allocate extent_state if the path is not
  allowed wait

- in clear_extent_bit, it doesn't check the result after atomic-ly allocate,
  we trigger BUG_ON() if it's fail

- if allocate fail, we trigger BUG_ON instead of returning -ENOMEM since
  the return value of clear_extent_bit() is ignored by many callers

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/extent_io.c