Btrfs: Fix ordering of key field checks in btrfs_previous_item
Check objectid of item before checking the item type, otherwise we may return zero for a key that is actually too low. Signed-off-by: Yan Zheng <zheng.yan@oracle.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
1fcbac581b
commit
0a4eefbb74
@ -4296,10 +4296,10 @@ int btrfs_previous_item(struct btrfs_root *root,
|
|||||||
path->slots[0]--;
|
path->slots[0]--;
|
||||||
|
|
||||||
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
|
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
|
||||||
if (found_key.type == type)
|
|
||||||
return 0;
|
|
||||||
if (found_key.objectid < min_objectid)
|
if (found_key.objectid < min_objectid)
|
||||||
break;
|
break;
|
||||||
|
if (found_key.type == type)
|
||||||
|
return 0;
|
||||||
if (found_key.objectid == min_objectid &&
|
if (found_key.objectid == min_objectid &&
|
||||||
found_key.type < type)
|
found_key.type < type)
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user