Lines Matching defs:ib

83 static int ntfs_ib_write(ntfs_index_context *icx, INDEX_BLOCK *ib)
85 s64 ret, vcn = sle64_to_cpu(ib->index_block_vcn);
90 1, icx->block_size, ib);
102 if (ntfs_ib_write(icx, icx->ib))
155 ntfs_ib_write(icx, icx->ib);
157 free(icx->ib);
460 int ntfs_index_block_inconsistent(const INDEX_BLOCK *ib, u32 block_size,
463 u32 ib_size = (unsigned)le32_to_cpu(ib->index.allocated_size)
466 if (!ntfs_is_indx_record(ib->magic)) {
473 if (sle64_to_cpu(ib->index_block_vcn) != vcn) {
476 (long long)sle64_to_cpu(ib->index_block_vcn),
490 if (le32_to_cpu(ib->index.entries_offset) < sizeof(INDEX_HEADER)) {
495 if (le32_to_cpu(ib->index.index_length)
496 <= le32_to_cpu(ib->index.entries_offset)) {
501 if (le32_to_cpu(ib->index.allocated_size)
502 < le32_to_cpu(ib->index.index_length)) {
775 INDEX_BLOCK *ib = NULL;
838 ib = ntfs_malloc(icx->block_size);
839 if (!ib) {
855 if (ntfs_ib_read(icx, vcn, ib))
858 ret = ntfs_ie_lookup(key, key_len, icx, &ib->index, &vcn, &ie);
866 icx->ib = ib;
871 if ((ib->index.ih_flags & NODE_MASK) == LEAF_NODE) {
886 free(ib);
907 INDEX_BLOCK *ib;
912 ib = ntfs_calloc(ib_size);
913 if (!ib)
916 ib->magic = magic_INDX;
917 ib->usa_ofs = const_cpu_to_le16(sizeof(INDEX_BLOCK));
918 ib->usa_count = cpu_to_le16(ib_size / NTFS_BLOCK_SIZE + 1);
920 *(le16 *)((char *)ib + le16_to_cpu(ib->usa_ofs)) = const_cpu_to_le16(1);
921 ib->lsn = const_cpu_to_sle64(0);
923 ib->index_block_vcn = cpu_to_sle64(ib_vcn);
925 ib->index.entries_offset = cpu_to_le32((ih_size +
926 le16_to_cpu(ib->usa_count) * 2 + 7) & ~7);
927 ib->index.index_length = const_cpu_to_le32(0);
928 ib->index.allocated_size = cpu_to_le32(ib_size -
930 ib->index.ih_flags = node_type;
932 return ib;
1094 INDEX_BLOCK *ib;
1101 ib = ntfs_ib_alloc(ib_vcn, le32_to_cpu(ir->index_block_size), LEAF_NODE);
1102 if (!ib)
1113 memcpy(ntfs_ie_get_first(&ib->index), ies_start, i);
1115 ib->index.ih_flags = ir->index.ih_flags;
1116 ib->index.index_length = cpu_to_le32(i +
1117 le32_to_cpu(ib->index.entries_offset));
1118 return ib;
1171 static int ntfs_ib_cut_tail(ntfs_index_context *icx, INDEX_BLOCK *ib,
1179 ies_start = (char *)ntfs_ie_get_first(&ib->index);
1180 ies_end = (char *)ntfs_ie_get_end(&ib->index);
1188 ib->index.index_length = cpu_to_le32(((char *)ie - ies_start) +
1189 le16_to_cpu(ie->length) + le32_to_cpu(ib->index.entries_offset));
1191 if (ntfs_ib_write(icx, ib))
1225 INDEX_BLOCK *ib = NULL;
1248 ib = ntfs_ir_to_ib(ir, new_ib_vcn);
1249 if (ib == NULL) {
1254 if (ntfs_ib_write(icx, ib))
1305 free(ib);
1464 static int ntfs_ib_split(ntfs_index_context *icx, INDEX_BLOCK *ib);
1472 INDEX_BLOCK *ib;
1479 ib = ntfs_malloc(icx->block_size);
1480 if (!ib)
1485 if (ntfs_ib_read(icx, old_vcn, ib))
1488 idx_size = le32_to_cpu(ib->index.index_length);
1489 allocated_size = le32_to_cpu(ib->index.allocated_size);
1492 err = ntfs_ib_split(icx, ib);
1498 if (ntfs_ih_insert(&ib->index, ie, new_vcn, ntfs_icx_parent_pos(icx)))
1501 if (ntfs_ib_write(icx, ib))
1506 free(ib);
1516 static int ntfs_ib_split(ntfs_index_context *icx, INDEX_BLOCK *ib)
1527 median = ntfs_ie_get_median(&ib->index);
1532 if (ntfs_ib_copy_tail(icx, ib, median, new_vcn)) {
1547 ret = ntfs_ib_cut_tail(icx, ib, median);
1583 ih = &icx->ib->index;
1598 if (ntfs_ib_split(icx, icx->ib) == STATUS_ERROR)
1664 INDEX_ENTRY *ie, INDEX_BLOCK *ib)
1693 if (ntfs_ib_write(icx, ib))
1730 INDEX_BLOCK *ib)
1741 return ntfs_ih_takeout(icx, ih, ie_prev, ib);
1746 INDEX_BLOCK *ib = NULL;
1762 ib = ntfs_malloc(icx->block_size);
1763 if (!ib)
1766 if (ntfs_ib_read(icx, ntfs_icx_parent_vcn(icx), ib))
1769 parent_ih = &ib->index;
1774 ret = ntfs_ih_takeout(icx, parent_ih, ie, ib);
1789 if (ntfs_ih_reparent_end(icx, parent_ih, ib))
1794 free(ib);
1802 INDEX_BLOCK *ib = NULL;
1816 ib = ntfs_malloc(icx->block_size);
1817 if (!ib)
1825 if (ntfs_ib_read(icx, vcn, ib))
1828 ie_succ = ntfs_ie_get_first(&ib->index);
1836 if ((ib->index.ih_flags & NODE_MASK) == INDEX_NODE)
1839 if (ntfs_ih_zero_entry(&ib->index)) {
1857 ih = &icx->ib->index;
1872 ret = ntfs_ib_split(icx, icx->ib);
1889 ntfs_ie_delete(&ib->index, ie_succ);
1891 if (ntfs_ih_zero_entry(&ib->index)) {
1895 if (ntfs_ib_write(icx, ib))
1902 free(ib);
1924 if (!icx || (!icx->ib && !icx->ir) || ntfs_ie_end(icx->entry)) {
1932 ih = &icx->ib->index;
2051 ictx->ib = (INDEX_BLOCK*)ntfs_malloc(ictx->block_size);
2062 if (!ntfs_ib_read(ictx,vcn,ictx->ib)) {
2063 ictx->entry = ntfs_ie_get_first(&ictx->ib->index);
2091 free(ictx->ib);
2092 ictx->ib = (INDEX_BLOCK*)NULL;
2109 if (!ntfs_ib_read(ictx,vcn,ictx->ib)) {
2111 &ictx->ib->index,