@@ -1028,23 +1028,11 @@ out:
static noinline int key_in_sk(struct btrfs_key *key,
struct btrfs_ioctl_search_key *sk)
{
- struct btrfs_key test;
- int ret;
-
- test.objectid = sk->min_objectid;
- test.type = sk->min_type;
- test.offset = sk->min_offset;
-
- ret = btrfs_comp_cpu_keys(key, &test);
- if (ret < 0)
+ if (key->type < sk->min_type || key->type > sk->max_type)
return 0;
-
- test.objectid = sk->max_objectid;
- test.type = sk->max_type;
- test.offset = sk->max_offset;
-
- ret = btrfs_comp_cpu_keys(key, &test);
- if (ret > 0)
+ if (key->offset < sk->min_offset || key->offset > sk->max_offset)
+ return 0;
+ if (key->objectid < sk->min_objectid || key->objectid > sk->max_objectid)
return 0;
return 1;
}