|
@@ -198,8 +198,6 @@ struct btrfs_dir_item *btrfs_lookup_dir_item(struct btrfs_trans_handle *trans,
|
|
struct btrfs_key key;
|
|
struct btrfs_key key;
|
|
int ins_len = mod < 0 ? -1 : 0;
|
|
int ins_len = mod < 0 ? -1 : 0;
|
|
int cow = mod != 0;
|
|
int cow = mod != 0;
|
|
- struct btrfs_key found_key;
|
|
|
|
- struct extent_buffer *leaf;
|
|
|
|
|
|
|
|
key.objectid = dir;
|
|
key.objectid = dir;
|
|
btrfs_set_key_type(&key, BTRFS_DIR_ITEM_KEY);
|
|
btrfs_set_key_type(&key, BTRFS_DIR_ITEM_KEY);
|
|
@@ -209,18 +207,7 @@ struct btrfs_dir_item *btrfs_lookup_dir_item(struct btrfs_trans_handle *trans,
|
|
ret = btrfs_search_slot(trans, root, &key, path, ins_len, cow);
|
|
ret = btrfs_search_slot(trans, root, &key, path, ins_len, cow);
|
|
if (ret < 0)
|
|
if (ret < 0)
|
|
return ERR_PTR(ret);
|
|
return ERR_PTR(ret);
|
|
- if (ret > 0) {
|
|
|
|
- if (path->slots[0] == 0)
|
|
|
|
- return NULL;
|
|
|
|
- path->slots[0]--;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- leaf = path->nodes[0];
|
|
|
|
- btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
|
|
|
|
-
|
|
|
|
- if (found_key.objectid != dir ||
|
|
|
|
- btrfs_key_type(&found_key) != BTRFS_DIR_ITEM_KEY ||
|
|
|
|
- found_key.offset != key.offset)
|
|
|
|
|
|
+ if (ret > 0)
|
|
return NULL;
|
|
return NULL;
|
|
|
|
|
|
return btrfs_match_dir_item_name(root, path, name, name_len);
|
|
return btrfs_match_dir_item_name(root, path, name, name_len);
|
|
@@ -315,8 +302,6 @@ struct btrfs_dir_item *btrfs_lookup_xattr(struct btrfs_trans_handle *trans,
|
|
struct btrfs_key key;
|
|
struct btrfs_key key;
|
|
int ins_len = mod < 0 ? -1 : 0;
|
|
int ins_len = mod < 0 ? -1 : 0;
|
|
int cow = mod != 0;
|
|
int cow = mod != 0;
|
|
- struct btrfs_key found_key;
|
|
|
|
- struct extent_buffer *leaf;
|
|
|
|
|
|
|
|
key.objectid = dir;
|
|
key.objectid = dir;
|
|
btrfs_set_key_type(&key, BTRFS_XATTR_ITEM_KEY);
|
|
btrfs_set_key_type(&key, BTRFS_XATTR_ITEM_KEY);
|
|
@@ -324,18 +309,7 @@ struct btrfs_dir_item *btrfs_lookup_xattr(struct btrfs_trans_handle *trans,
|
|
ret = btrfs_search_slot(trans, root, &key, path, ins_len, cow);
|
|
ret = btrfs_search_slot(trans, root, &key, path, ins_len, cow);
|
|
if (ret < 0)
|
|
if (ret < 0)
|
|
return ERR_PTR(ret);
|
|
return ERR_PTR(ret);
|
|
- if (ret > 0) {
|
|
|
|
- if (path->slots[0] == 0)
|
|
|
|
- return NULL;
|
|
|
|
- path->slots[0]--;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- leaf = path->nodes[0];
|
|
|
|
- btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
|
|
|
|
-
|
|
|
|
- if (found_key.objectid != dir ||
|
|
|
|
- btrfs_key_type(&found_key) != BTRFS_XATTR_ITEM_KEY ||
|
|
|
|
- found_key.offset != key.offset)
|
|
|
|
|
|
+ if (ret > 0)
|
|
return NULL;
|
|
return NULL;
|
|
|
|
|
|
return btrfs_match_dir_item_name(root, path, name, name_len);
|
|
return btrfs_match_dir_item_name(root, path, name, name_len);
|