dect
/
linux-2.6
Archived
13
0
Fork 0

btrfs_drop_extents: handle BTRFS_INODE_REF_KEY types

It's possible "key.type == BTRFS_INODE_REF_KEY" and "key.offset >= end".

Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Yan 2008-02-05 15:40:36 -05:00 committed by Chris Mason
parent 068fe39fa1
commit 7261009cea
1 changed files with 4 additions and 3 deletions

View File

@ -507,11 +507,12 @@ next_slot:
slot = path->slots[0];
ret = 0;
btrfs_item_key_to_cpu(leaf, &key, slot);
if (key.offset >= end || key.objectid != inode->i_ino) {
if (btrfs_key_type(&key) == BTRFS_EXTENT_DATA_KEY &&
key.offset >= end) {
goto out;
}
if (btrfs_key_type(&key) > BTRFS_EXTENT_DATA_KEY) {
if (btrfs_key_type(&key) > BTRFS_EXTENT_DATA_KEY ||
key.objectid != inode->i_ino) {
goto out;
}
if (recow) {