Lines Matching +full:1 +full:e

44 		return -1;  in cmp_fnames()
48 return -1; in cmp_fnames()
76 return -1; in cmp_uint()
79 return -1; in cmp_uint()
81 return 1; in cmp_uint()
96 return -1; in cmp_sdh()
103 return -1; in cmp_sdh()
105 return 1; in cmp_sdh()
112 return -1; in cmp_sdh()
114 return 1; in cmp_sdh()
130 if ((size_t)data == 1) { in cmp_uints()
137 k1 += 1; // Skip REPARSE_KEY.ReparseTag in cmp_uints()
138 k2 += 1; // Skip REPARSE_KEY.ReparseTag in cmp_uints()
140 return -1; in cmp_uints()
143 return 1; in cmp_uints()
148 return -1; in cmp_uints()
155 return 1; in cmp_uints()
157 return -1; in cmp_uints()
161 return 1; in cmp_uints()
163 return -1; in cmp_uints()
389 from &= nbits - 1; in scan_nres_bitmap()
472 * Return: -1 if no free bits.
562 const struct NTFS_DE *e = hdr_first_de(hdr); in hdr_find_split() local
563 u32 used_2 = le32_to_cpu(hdr->used) >> 1; in hdr_find_split()
566 if (!e || de_is_last(e)) in hdr_find_split()
569 esize = le16_to_cpu(e->size); in hdr_find_split()
571 const struct NTFS_DE *p = e; in hdr_find_split()
573 e = Add2Ptr(hdr, o); in hdr_find_split()
576 if (de_is_last(e)) in hdr_find_split()
579 esize = le16_to_cpu(e->size); in hdr_find_split()
582 return e; in hdr_find_split()
594 struct NTFS_DE *e = hdr_first_de(hdr); in hdr_insert_head() local
597 if (!e) in hdr_insert_head()
602 memmove(Add2Ptr(e, ins_bytes), e, to_move); in hdr_insert_head()
603 memcpy(e, ins, ins_bytes); in hdr_insert_head()
606 return e; in hdr_insert_head()
647 fn != ((bytes >> SECTOR_SHIFT) + 1)) { in index_buf_check()
660 for (i = fnd->level - 1; i >= 0; i--) { in fnd_clear()
674 struct NTFS_DE *e) in fnd_push() argument
681 fnd->de[i] = e; in fnd_push()
682 fnd->level += 1; in fnd_push()
691 i -= 1; in fnd_pop()
704 return !fnd->de[fnd->level - 1]; in fnd_is_empty()
721 struct NTFS_DE *e, *found = NULL; in hdr_find_e() local
742 e = Add2Ptr(hdr, off); in hdr_find_e()
743 e_size = le16_to_cpu(e->size); in hdr_find_e()
748 if (!de_is_last(e)) { in hdr_find_e()
760 e_key_len = le16_to_cpu(e->key_size); in hdr_find_e()
762 diff2 = (*cmp)(key, key_len, e + 1, e_key_len, ctx); in hdr_find_e()
765 min_idx = mid_idx + 1; in hdr_find_e()
767 if (de_is_last(e)) in hdr_find_e()
776 max_idx = mid_idx - 1; in hdr_find_e()
780 found = e; in hdr_find_e()
783 return e; in hdr_find_e()
787 *diff = -1; in hdr_find_e()
791 mid_idx = (min_idx + max_idx) >> 1; in hdr_find_e()
792 e = Add2Ptr(hdr, offs[mid_idx]); in hdr_find_e()
827 before = hdr_find_e(indx, hdr, de + 1, le16_to_cpu(de->key_size), ctx, in hdr_insert_de()
905 (root->index_block_clst - 1)) { in indx_init()
936 struct NTFS_DE *e; in indx_new() local
941 u32 bytes = 1u << indx->index_bits; in indx_new()
966 fn = (bytes >> SECTOR_SHIFT) + 1; // 9 in indx_new()
973 e = Add2Ptr(hdr, eo); in indx_new()
976 e->flags = NTFS_IE_LAST | NTFS_IE_HAS_SUBNODES; in indx_new()
977 e->size = cpu_to_le16(sizeof(struct NTFS_DE) + sizeof(u64)); in indx_new()
980 de_set_vbn_le(e, *sub_vbn); in indx_new()
981 hdr->flags = 1; in indx_new()
983 e->size = cpu_to_le16(sizeof(struct NTFS_DE)); in indx_new()
985 e->flags = NTFS_IE_LAST; in indx_new()
1045 u32 bytes = 1u << indx->index_bits; in indx_read()
1145 struct NTFS_DE *e; in indx_find() local
1157 e = fnd->level ? fnd->de[fnd->level - 1] : fnd->root_de; in indx_find()
1158 if (e && !de_is_last(e) && in indx_find()
1159 !(*indx->cmp)(key, key_len, e + 1, le16_to_cpu(e->key_size), ctx)) { in indx_find()
1160 *entry = e; in indx_find()
1169 e = hdr_find_e(indx, &root->ihdr, key, key_len, ctx, diff); in indx_find()
1170 if (!e) in indx_find()
1173 fnd->root_de = e; in indx_find()
1177 if (*diff >= 0 || !de_has_vcn_ex(e)) in indx_find()
1181 err = indx_read(indx, ni, de_get_vbn(e), &node); in indx_find()
1188 e = hdr_find_e(indx, &node->index->ihdr, key, key_len, ctx, in indx_find()
1190 if (!e) { in indx_find()
1195 fnd_push(fnd, node, e); in indx_find()
1198 *entry = e; in indx_find()
1208 struct NTFS_DE *e; in indx_find_sort() local
1214 e = hdr_first_de(&root->ihdr); in indx_find_sort()
1215 if (!e) in indx_find_sort()
1218 fnd->root_de = e; in indx_find_sort()
1225 e = hdr_next_de(&root->ihdr, fnd->root_de); in indx_find_sort()
1226 if (!e) in indx_find_sort()
1228 fnd->root_de = e; in indx_find_sort()
1230 n = fnd->nodes[level - 1]; in indx_find_sort()
1231 e = fnd->de[level - 1]; in indx_find_sort()
1233 if (de_is_last(e)) in indx_find_sort()
1236 e = hdr_next_de(&n->index->ihdr, e); in indx_find_sort()
1237 if (!e) in indx_find_sort()
1240 fnd->de[level - 1] = e; in indx_find_sort()
1248 while (de_has_vcn_ex(e)) { in indx_find_sort()
1249 if (le16_to_cpu(e->size) < in indx_find_sort()
1259 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_sort()
1264 e = hdr_first_de(&n->index->ihdr); in indx_find_sort()
1265 if (!e) { in indx_find_sort()
1270 fnd_push(fnd, n, e); in indx_find_sort()
1273 if (le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) { in indx_find_sort()
1274 *entry = e; in indx_find_sort()
1280 if (!de_is_last(e)) in indx_find_sort()
1292 n = fnd->nodes[level - 1]; in indx_find_sort()
1293 e = fnd->de[level - 1]; in indx_find_sort()
1296 e = fnd->root_de; in indx_find_sort()
1303 if (le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) { in indx_find_sort()
1304 *entry = e; in indx_find_sort()
1306 fnd->root_de = e; in indx_find_sort()
1318 struct NTFS_DE *e = NULL; in indx_find_raw() local
1328 e = hdr_first_de(&root->ihdr); in indx_find_raw()
1329 if (!e) in indx_find_raw()
1332 fnd->root_de = e; in indx_find_raw()
1349 if (e && le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) in indx_find_raw()
1355 e = hdr_next_de(&root->ihdr, fnd->root_de); in indx_find_raw()
1356 if (!e) in indx_find_raw()
1358 fnd->root_de = e; in indx_find_raw()
1366 e2 = fnd->de[fnd->level - 1]; in indx_find_raw()
1368 n = fnd->nodes[fnd->level - 1]; in indx_find_raw()
1371 e = hdr_next_de(&n->index->ihdr, e2); in indx_find_raw()
1372 if (!e) in indx_find_raw()
1374 fnd->de[fnd->level - 1] = e; in indx_find_raw()
1407 e = hdr_first_de(&n->index->ihdr); in indx_find_raw()
1408 fnd_push(fnd, n, e); in indx_find_raw()
1409 if (!e) in indx_find_raw()
1416 /* 'e' points in root, */ in indx_find_raw()
1417 *off = PtrOffset(&root->ihdr, e); in indx_find_raw()
1419 /* 'e' points in index, */ in indx_find_raw()
1421 record_size + PtrOffset(&n->index->ihdr, e); in indx_find_raw()
1424 *entry = e; in indx_find_raw()
1438 u32 data_size = 1u << indx->index_bits; in indx_create_allocate()
1459 err = ni_insert_resident(ni, bitmap_size(1), ATTR_BITMAP, in->name, in indx_create_allocate()
1516 data_size = (u64)(bit + 1) << indx->index_bits; in indx_add_allocate()
1521 &indx->bitmap_run, bitmap_size(bit + 1), in indx_add_allocate()
1574 struct NTFS_DE *e, *e0, *re; in indx_insert_into_root() local
1612 e = hdr_insert_de(indx, hdr, new_de, root_de, ctx); in indx_insert_into_root()
1613 WARN_ON(!e); in indx_insert_into_root()
1615 fnd->root_de = e; in indx_insert_into_root()
1633 for (e = e0;; e = hdr_next_de(hdr, e)) { in indx_insert_into_root()
1634 if (!e) { in indx_insert_into_root()
1639 if (de_is_last(e)) in indx_insert_into_root()
1641 to_move += le16_to_cpu(e->size); in indx_insert_into_root()
1655 if (de_has_vcn(e)) { in indx_insert_into_root()
1656 t_vbn = de_get_vbn_le(e); in indx_insert_into_root()
1674 e = (struct NTFS_DE *)(root + 1); in indx_insert_into_root()
1675 memset(e, 0, sizeof(struct NTFS_DE)); in indx_insert_into_root()
1676 e->size = cpu_to_le16(sizeof(struct NTFS_DE) + sizeof(u64)); in indx_insert_into_root()
1677 e->flags = NTFS_IE_HAS_SUBNODES | NTFS_IE_LAST; in indx_insert_into_root()
1679 hdr->flags = 1; in indx_insert_into_root()
1711 e = (struct NTFS_DE *)(root + 1); in indx_insert_into_root()
1712 *(__le64 *)(e + 1) = cpu_to_le64(new_vbn); in indx_insert_into_root()
1737 * new entry classic case when MFT record is 1K and index in indx_insert_into_root()
1753 e = hdr_insert_de(indx, hdr, new_de, NULL, ctx); in indx_insert_into_root()
1754 if (!e) { in indx_insert_into_root()
1758 fnd_push(fnd, n, e); in indx_insert_into_root()
1787 struct NTFS_DE *e, *de_t, *up_e; in indx_insert_into_buffer() local
1799 e = fnd->level - 1 == level ? fnd->de[level] : NULL; in indx_insert_into_buffer()
1800 e = hdr_insert_de(indx, hdr1, new_de, e, ctx); in indx_insert_into_buffer()
1801 fnd->de[level] = e; in indx_insert_into_buffer()
1802 if (e) { in indx_insert_into_buffer()
1877 (*indx->cmp)(new_de + 1, le16_to_cpu(new_de->key_size), in indx_insert_into_buffer()
1878 up_e + 1, le16_to_cpu(up_e->key_size), in indx_insert_into_buffer()
1904 level - 1, fnd); in indx_insert_into_buffer()
1934 struct NTFS_DE *e; in indx_insert_entry() local
1958 err = indx_find(indx, ni, root, new_de + 1, in indx_insert_entry()
1959 le16_to_cpu(new_de->key_size), ctx, &diff, &e, in indx_insert_entry()
1982 fnd->level - 1, fnd); in indx_insert_entry()
2000 const struct NTFS_DE *e; in indx_find_buffer() local
2004 /* Step 1: Scan one level. */ in indx_find_buffer()
2005 for (e = hdr_first_de(hdr);; e = hdr_next_de(hdr, e)) { in indx_find_buffer()
2006 if (!e) in indx_find_buffer()
2009 if (de_has_vcn(e) && vbn == de_get_vbn_le(e)) in indx_find_buffer()
2012 if (de_is_last(e)) in indx_find_buffer()
2017 e = Add2Ptr(hdr, le32_to_cpu(hdr->de_off)); in indx_find_buffer()
2019 if (de_has_vcn_ex(e)) { in indx_find_buffer()
2020 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_buffer()
2029 if (de_is_last(e)) in indx_find_buffer()
2032 e = Add2Ptr(e, le16_to_cpu(e->size)); in indx_find_buffer()
2106 const struct NTFS_DE *e, bool trim) in indx_free_children() argument
2111 CLST vbn = de_get_vbn(e); in indx_free_children()
2121 for (e = hdr_first_de(hdr); e; e = hdr_next_de(hdr, e)) { in indx_free_children()
2122 indx_free_children(indx, ni, e, false); in indx_free_children()
2123 if (de_is_last(e)) in indx_free_children()
2144 indx_shrink(indx, ni, i + 1); in indx_free_children()
2162 int level = -1; in indx_get_entry_to_replace()
2164 struct NTFS_DE *e, *te, *re; in indx_get_entry_to_replace() local
2178 e = hdr_first_de(&n->index->ihdr); in indx_get_entry_to_replace()
2179 fnd_push(fnd, n, e); in indx_get_entry_to_replace()
2181 if (!de_is_last(e)) { in indx_get_entry_to_replace()
2186 level = fnd->level - 1; in indx_get_entry_to_replace()
2189 if (!de_has_vcn(e)) in indx_get_entry_to_replace()
2193 vbn = de_get_vbn(e); in indx_get_entry_to_replace()
2196 if (level == -1) in indx_get_entry_to_replace()
2232 e = hdr_delete_de(&ib->ihdr, te); in indx_get_entry_to_replace()
2234 fnd->de[level] = e; in indx_get_entry_to_replace()
2258 struct NTFS_DE *e, *re, *next, *prev, *me; in indx_delete_entry() local
2287 err = indx_find(indx, ni, root, key, key_len, ctx, &diff, &e, fnd); in indx_delete_entry()
2291 if (!e || diff) { in indx_delete_entry()
2299 n = fnd->nodes[level - 1]; in indx_delete_entry()
2300 e = fnd->de[level - 1]; in indx_delete_entry()
2305 e = fnd->root_de; in indx_delete_entry()
2309 e_size = le16_to_cpu(e->size); in indx_delete_entry()
2311 if (!de_has_vcn_ex(e)) { in indx_delete_entry()
2313 hdr_delete_de(hdr, e); in indx_delete_entry()
2331 fnd_push(fnd2, n, e); in indx_delete_entry()
2338 next = de_get_next(e); in indx_delete_entry()
2345 de_set_vbn_le(re, de_get_vbn_le(e)); in indx_delete_entry()
2346 hdr_delete_de(hdr, e); in indx_delete_entry()
2350 fnd->level - 1, in indx_delete_entry()
2352 indx_insert_into_root(indx, ni, re, e, in indx_delete_entry()
2368 de_set_vbn_le(next, de_get_vbn_le(e)); in indx_delete_entry()
2369 hdr_delete_de(hdr, e); in indx_delete_entry()
2397 hdr = level ? &fnd->nodes[level - 1]->index->ihdr : &root->ihdr; in indx_delete_entry()
2400 for (e = hdr_first_de(hdr);; e = hdr_next_de(hdr, e)) { in indx_delete_entry()
2401 if (!e) { in indx_delete_entry()
2406 if (de_has_vcn(e) && sub_vbn == de_get_vbn_le(e)) in indx_delete_entry()
2409 if (de_is_last(e)) { in indx_delete_entry()
2410 e = NULL; in indx_delete_entry()
2415 if (!e) { in indx_delete_entry()
2440 struct indx_node *in = fnd->nodes[level - 1]; in indx_delete_entry()
2456 e = hdr_first_de(hdr); in indx_delete_entry()
2457 if (!e) { in indx_delete_entry()
2462 if (hdr != &root->ihdr || !de_is_last(e)) { in indx_delete_entry()
2464 while (!de_is_last(e)) { in indx_delete_entry()
2465 if (de_has_vcn(e) && sub_vbn == de_get_vbn_le(e)) in indx_delete_entry()
2467 prev = e; in indx_delete_entry()
2468 e = hdr_next_de(hdr, e); in indx_delete_entry()
2469 if (!e) { in indx_delete_entry()
2475 if (sub_vbn != de_get_vbn_le(e)) { in indx_delete_entry()
2484 if (de_is_last(e)) { in indx_delete_entry()
2498 de_set_vbn_le(e, de_get_vbn_le(prev)); in indx_delete_entry()
2499 } else if (de_has_vcn(e)) { in indx_delete_entry()
2500 le16_sub_cpu(&e->size, sizeof(u64)); in indx_delete_entry()
2501 e->flags &= ~NTFS_IE_HAS_SUBNODES; in indx_delete_entry()
2504 e = prev; in indx_delete_entry()
2512 e_size = le16_to_cpu(e->size); in indx_delete_entry()
2513 me = kmemdup(e, e_size, GFP_NOFS); in indx_delete_entry()
2524 hdr_delete_de(hdr, e); in indx_delete_entry()
2538 trim_bit = -1; in indx_delete_entry()
2563 if (trim_bit != -1) in indx_delete_entry()
2608 e = (struct NTFS_DE *)(root + 1); in indx_delete_entry()
2609 e->ref.low = 0; in indx_delete_entry()
2610 e->ref.high = 0; in indx_delete_entry()
2611 e->ref.seq = 0; in indx_delete_entry()
2612 e->size = cpu_to_le16(sizeof(struct NTFS_DE)); in indx_delete_entry()
2613 e->flags = NTFS_IE_LAST; // 0x02 in indx_delete_entry()
2614 e->key_size = 0; in indx_delete_entry()
2615 e->res = 0; in indx_delete_entry()
2641 struct NTFS_DE *e = NULL; in indx_update_dup() local
2660 &diff, &e, fnd); in indx_update_dup()
2664 if (!e) { in indx_update_dup()
2674 e_fname = (struct ATTR_FILE_NAME *)(e + 1); in indx_update_dup()
2687 err = indx_write(indx, ni, fnd->nodes[fnd->level - 1], sync); in indx_update_dup()
2692 err = mi_write(mi, 1); in indx_update_dup()