H A D | dir-item.c | 75 struct btrfs_dir_item *dir_item; btrfs_insert_xattr_item() local 88 data_size = sizeof(*dir_item) + name_len + data_len; btrfs_insert_xattr_item() 89 dir_item = insert_with_overflow(trans, root, path, &key, data_size, btrfs_insert_xattr_item() 91 if (IS_ERR(dir_item)) btrfs_insert_xattr_item() 92 return PTR_ERR(dir_item); btrfs_insert_xattr_item() 97 btrfs_set_dir_item_key(leaf, dir_item, &disk_key); btrfs_insert_xattr_item() 98 btrfs_set_dir_type(leaf, dir_item, BTRFS_FT_XATTR); btrfs_insert_xattr_item() 99 btrfs_set_dir_name_len(leaf, dir_item, name_len); btrfs_insert_xattr_item() 100 btrfs_set_dir_transid(leaf, dir_item, trans->transid); btrfs_insert_xattr_item() 101 btrfs_set_dir_data_len(leaf, dir_item, data_len); btrfs_insert_xattr_item() 102 name_ptr = (unsigned long)(dir_item + 1); btrfs_insert_xattr_item() 128 struct btrfs_dir_item *dir_item; btrfs_insert_dir_item() local 146 data_size = sizeof(*dir_item) + name_len; btrfs_insert_dir_item() 147 dir_item = insert_with_overflow(trans, root, path, &key, data_size, btrfs_insert_dir_item() 149 if (IS_ERR(dir_item)) { btrfs_insert_dir_item() 150 ret = PTR_ERR(dir_item); btrfs_insert_dir_item() 157 btrfs_set_dir_item_key(leaf, dir_item, &disk_key); btrfs_insert_dir_item() 158 btrfs_set_dir_type(leaf, dir_item, type); btrfs_insert_dir_item() 159 btrfs_set_dir_data_len(leaf, dir_item, 0); btrfs_insert_dir_item() 160 btrfs_set_dir_name_len(leaf, dir_item, name_len); btrfs_insert_dir_item() 161 btrfs_set_dir_transid(leaf, dir_item, trans->transid); btrfs_insert_dir_item() 162 name_ptr = (unsigned long)(dir_item + 1); btrfs_insert_dir_item() 386 struct btrfs_dir_item *dir_item; btrfs_match_dir_item_name() local 394 dir_item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_dir_item); btrfs_match_dir_item_name() 395 if (verify_dir_item(root, leaf, dir_item)) btrfs_match_dir_item_name() 400 this_len = sizeof(*dir_item) + btrfs_match_dir_item_name() 401 btrfs_dir_name_len(leaf, dir_item) + btrfs_match_dir_item_name() 402 btrfs_dir_data_len(leaf, dir_item); btrfs_match_dir_item_name() 403 name_ptr = (unsigned long)(dir_item + 1); btrfs_match_dir_item_name() 405 if (btrfs_dir_name_len(leaf, dir_item) == name_len && btrfs_match_dir_item_name() 407 return dir_item; btrfs_match_dir_item_name() 410 dir_item = (struct btrfs_dir_item *)((char *)dir_item + btrfs_match_dir_item_name() 452 struct btrfs_dir_item *dir_item) verify_dir_item() 455 u8 type = btrfs_dir_type(leaf, dir_item); verify_dir_item() 466 if (btrfs_dir_name_len(leaf, dir_item) > namelen) { verify_dir_item() 468 (unsigned)btrfs_dir_data_len(leaf, dir_item)); verify_dir_item() 473 if ((btrfs_dir_data_len(leaf, dir_item) + verify_dir_item() 474 btrfs_dir_name_len(leaf, dir_item)) > BTRFS_MAX_XATTR_SIZE(root)) { verify_dir_item() 476 (unsigned)btrfs_dir_name_len(leaf, dir_item), verify_dir_item() 477 (unsigned)btrfs_dir_data_len(leaf, dir_item)); verify_dir_item() 450 verify_dir_item(struct btrfs_root *root, struct extent_buffer *leaf, struct btrfs_dir_item *dir_item) verify_dir_item() argument
|