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()
471 * Return: -1 if no free bits.
561 const struct NTFS_DE *e = hdr_first_de(hdr); in hdr_find_split() local
562 u32 used_2 = le32_to_cpu(hdr->used) >> 1; in hdr_find_split()
565 if (!e || de_is_last(e)) in hdr_find_split()
568 esize = le16_to_cpu(e->size); in hdr_find_split()
570 const struct NTFS_DE *p = e; in hdr_find_split()
572 e = Add2Ptr(hdr, o); in hdr_find_split()
575 if (de_is_last(e)) in hdr_find_split()
578 esize = le16_to_cpu(e->size); in hdr_find_split()
581 return e; in hdr_find_split()
593 struct NTFS_DE *e = hdr_first_de(hdr); in hdr_insert_head() local
596 if (!e) in hdr_insert_head()
601 memmove(Add2Ptr(e, ins_bytes), e, to_move); in hdr_insert_head()
602 memcpy(e, ins, ins_bytes); in hdr_insert_head()
605 return e; in hdr_insert_head()
626 struct NTFS_DE *e) in fnd_push() argument
634 fnd->de[i] = e; in fnd_push()
635 fnd->level += 1; in fnd_push()
644 i -= 1; in fnd_pop()
657 return !fnd->de[fnd->level - 1]; in fnd_is_empty()
674 struct NTFS_DE *e, *found = NULL; in hdr_find_e() local
688 e = Add2Ptr(hdr, off); in hdr_find_e()
689 e_size = le16_to_cpu(e->size); in hdr_find_e()
694 if (!de_is_last(e)) { in hdr_find_e()
706 e_key_len = le16_to_cpu(e->key_size); in hdr_find_e()
708 diff2 = (*cmp)(key, key_len, e + 1, e_key_len, ctx); in hdr_find_e()
711 min_idx = mid_idx + 1; in hdr_find_e()
713 if (de_is_last(e)) in hdr_find_e()
723 max_idx = mid_idx - 1; in hdr_find_e()
727 found = e; in hdr_find_e()
730 return e; in hdr_find_e()
734 *diff = -1; in hdr_find_e()
738 mid_idx = (min_idx + max_idx) >> 1; in hdr_find_e()
739 e = Add2Ptr(hdr, offs[mid_idx]); in hdr_find_e()
774 before = hdr_find_e(indx, hdr, de + 1, le16_to_cpu(de->key_size), ctx, in hdr_insert_de()
841 (root->index_block_clst - 1)) { in indx_init()
865 struct NTFS_DE *e; in indx_new() local
870 u32 bytes = 1u << indx->index_bits; in indx_new()
895 fn = (bytes >> SECTOR_SHIFT) + 1; // 9 in indx_new()
902 e = Add2Ptr(hdr, eo); in indx_new()
905 e->flags = NTFS_IE_LAST | NTFS_IE_HAS_SUBNODES; in indx_new()
906 e->size = cpu_to_le16(sizeof(struct NTFS_DE) + sizeof(u64)); in indx_new()
909 de_set_vbn_le(e, *sub_vbn); in indx_new()
910 hdr->flags = 1; in indx_new()
912 e->size = cpu_to_le16(sizeof(struct NTFS_DE)); in indx_new()
914 e->flags = NTFS_IE_LAST; in indx_new()
964 u32 bytes = 1u << indx->index_bits; in indx_read()
1044 struct NTFS_DE *e; in indx_find() local
1056 e = fnd->level ? fnd->de[fnd->level - 1] : fnd->root_de; in indx_find()
1057 if (e && !de_is_last(e) && in indx_find()
1058 !(*indx->cmp)(key, key_len, e + 1, le16_to_cpu(e->key_size), ctx)) { in indx_find()
1059 *entry = e; in indx_find()
1068 e = hdr_find_e(indx, &root->ihdr, key, key_len, ctx, diff); in indx_find()
1069 if (!e) in indx_find()
1072 fnd->root_de = e; in indx_find()
1076 if (*diff >= 0 || !de_has_vcn_ex(e)) in indx_find()
1080 err = indx_read(indx, ni, de_get_vbn(e), &node); in indx_find()
1085 e = hdr_find_e(indx, &node->index->ihdr, key, key_len, ctx, in indx_find()
1087 if (!e) { in indx_find()
1092 fnd_push(fnd, node, e); in indx_find()
1095 *entry = e; in indx_find()
1105 struct NTFS_DE *e; in indx_find_sort() local
1111 e = hdr_first_de(&root->ihdr); in indx_find_sort()
1112 if (!e) in indx_find_sort()
1115 fnd->root_de = e; in indx_find_sort()
1122 e = hdr_next_de(&root->ihdr, fnd->root_de); in indx_find_sort()
1123 if (!e) in indx_find_sort()
1125 fnd->root_de = e; in indx_find_sort()
1127 n = fnd->nodes[level - 1]; in indx_find_sort()
1128 e = fnd->de[level - 1]; in indx_find_sort()
1130 if (de_is_last(e)) in indx_find_sort()
1133 e = hdr_next_de(&n->index->ihdr, e); in indx_find_sort()
1134 if (!e) in indx_find_sort()
1137 fnd->de[level - 1] = e; in indx_find_sort()
1145 while (de_has_vcn_ex(e)) { in indx_find_sort()
1146 if (le16_to_cpu(e->size) < in indx_find_sort()
1156 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_sort()
1161 e = hdr_first_de(&n->index->ihdr); in indx_find_sort()
1162 if (!e) { in indx_find_sort()
1167 fnd_push(fnd, n, e); in indx_find_sort()
1170 if (le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) { in indx_find_sort()
1171 *entry = e; in indx_find_sort()
1177 if (!de_is_last(e)) in indx_find_sort()
1189 n = fnd->nodes[level - 1]; in indx_find_sort()
1190 e = fnd->de[level - 1]; in indx_find_sort()
1193 e = fnd->root_de; in indx_find_sort()
1200 if (le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) { in indx_find_sort()
1201 *entry = e; in indx_find_sort()
1203 fnd->root_de = e; in indx_find_sort()
1215 struct NTFS_DE *e = NULL; in indx_find_raw() local
1225 e = hdr_first_de(&root->ihdr); in indx_find_raw()
1226 if (!e) in indx_find_raw()
1229 fnd->root_de = e; in indx_find_raw()
1246 if (e && le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) in indx_find_raw()
1252 e = hdr_next_de(&root->ihdr, fnd->root_de); in indx_find_raw()
1253 if (!e) in indx_find_raw()
1255 fnd->root_de = e; in indx_find_raw()
1263 e2 = fnd->de[fnd->level - 1]; in indx_find_raw()
1265 n = fnd->nodes[fnd->level - 1]; in indx_find_raw()
1268 e = hdr_next_de(&n->index->ihdr, e2); in indx_find_raw()
1269 if (!e) in indx_find_raw()
1271 fnd->de[fnd->level - 1] = e; in indx_find_raw()
1304 e = hdr_first_de(&n->index->ihdr); in indx_find_raw()
1305 fnd_push(fnd, n, e); in indx_find_raw()
1306 if (!e) in indx_find_raw()
1313 /* 'e' points in root, */ in indx_find_raw()
1314 *off = PtrOffset(&root->ihdr, e); in indx_find_raw()
1316 /* 'e' points in index, */ in indx_find_raw()
1318 record_size + PtrOffset(&n->index->ihdr, e); in indx_find_raw()
1321 *entry = e; in indx_find_raw()
1335 u32 data_size = 1u << indx->index_bits; in indx_create_allocate()
1356 err = ni_insert_resident(ni, bitmap_size(1), ATTR_BITMAP, in->name, in indx_create_allocate()
1413 data_size = (u64)(bit + 1) << indx->index_bits; in indx_add_allocate()
1418 &indx->bitmap_run, bitmap_size(bit + 1), in indx_add_allocate()
1468 struct NTFS_DE *e, *e0, *re; in indx_insert_into_root() local
1506 e = hdr_insert_de(indx, hdr, new_de, root_de, ctx); in indx_insert_into_root()
1507 WARN_ON(!e); in indx_insert_into_root()
1509 fnd->root_de = e; in indx_insert_into_root()
1527 for (e = e0;; e = hdr_next_de(hdr, e)) { in indx_insert_into_root()
1528 if (!e) { in indx_insert_into_root()
1533 if (de_is_last(e)) in indx_insert_into_root()
1535 to_move += le16_to_cpu(e->size); in indx_insert_into_root()
1549 if (de_has_vcn(e)) { in indx_insert_into_root()
1550 t_vbn = de_get_vbn_le(e); in indx_insert_into_root()
1568 e = (struct NTFS_DE *)(root + 1); in indx_insert_into_root()
1569 memset(e, 0, sizeof(struct NTFS_DE)); in indx_insert_into_root()
1570 e->size = cpu_to_le16(sizeof(struct NTFS_DE) + sizeof(u64)); in indx_insert_into_root()
1571 e->flags = NTFS_IE_HAS_SUBNODES | NTFS_IE_LAST; in indx_insert_into_root()
1573 hdr->flags = 1; in indx_insert_into_root()
1605 e = (struct NTFS_DE *)(root + 1); in indx_insert_into_root()
1606 *(__le64 *)(e + 1) = cpu_to_le64(new_vbn); in indx_insert_into_root()
1631 * new entry classic case when MFT record is 1K and index in indx_insert_into_root()
1647 e = hdr_insert_de(indx, hdr, new_de, NULL, ctx); in indx_insert_into_root()
1648 if (!e) { in indx_insert_into_root()
1652 fnd_push(fnd, n, e); in indx_insert_into_root()
1681 struct NTFS_DE *e, *de_t, *up_e; in indx_insert_into_buffer() local
1692 e = fnd->level - 1 == level ? fnd->de[level] : NULL; in indx_insert_into_buffer()
1693 e = hdr_insert_de(indx, hdr1, new_de, e, ctx); in indx_insert_into_buffer()
1694 fnd->de[level] = e; in indx_insert_into_buffer()
1695 if (e) { in indx_insert_into_buffer()
1763 (*indx->cmp)(new_de + 1, le16_to_cpu(new_de->key_size), in indx_insert_into_buffer()
1764 up_e + 1, le16_to_cpu(up_e->key_size), in indx_insert_into_buffer()
1792 level - 1, fnd); in indx_insert_into_buffer()
1814 struct NTFS_DE *e; in indx_insert_entry() local
1838 err = indx_find(indx, ni, root, new_de + 1, in indx_insert_entry()
1839 le16_to_cpu(new_de->key_size), ctx, &diff, &e, in indx_insert_entry()
1864 fnd->level - 1, fnd); in indx_insert_entry()
1884 const struct NTFS_DE *e; in indx_find_buffer() local
1888 /* Step 1: Scan one level. */ in indx_find_buffer()
1889 for (e = hdr_first_de(hdr);; e = hdr_next_de(hdr, e)) { in indx_find_buffer()
1890 if (!e) in indx_find_buffer()
1893 if (de_has_vcn(e) && vbn == de_get_vbn_le(e)) in indx_find_buffer()
1896 if (de_is_last(e)) in indx_find_buffer()
1901 e = Add2Ptr(hdr, le32_to_cpu(hdr->de_off)); in indx_find_buffer()
1903 if (de_has_vcn_ex(e)) { in indx_find_buffer()
1904 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_buffer()
1913 if (de_is_last(e)) in indx_find_buffer()
1916 e = Add2Ptr(e, le16_to_cpu(e->size)); in indx_find_buffer()
1987 const struct NTFS_DE *e, bool trim) in indx_free_children() argument
1992 CLST vbn = de_get_vbn(e); in indx_free_children()
2002 for (e = hdr_first_de(hdr); e; e = hdr_next_de(hdr, e)) { in indx_free_children()
2003 indx_free_children(indx, ni, e, false); in indx_free_children()
2004 if (de_is_last(e)) in indx_free_children()
2025 indx_shrink(indx, ni, i + 1); in indx_free_children()
2043 int level = -1; in indx_get_entry_to_replace()
2045 struct NTFS_DE *e, *te, *re; in indx_get_entry_to_replace() local
2059 e = hdr_first_de(&n->index->ihdr); in indx_get_entry_to_replace()
2060 fnd_push(fnd, n, e); in indx_get_entry_to_replace()
2062 if (!de_is_last(e)) { in indx_get_entry_to_replace()
2067 level = fnd->level - 1; in indx_get_entry_to_replace()
2070 if (!de_has_vcn(e)) in indx_get_entry_to_replace()
2074 vbn = de_get_vbn(e); in indx_get_entry_to_replace()
2077 if (level == -1) in indx_get_entry_to_replace()
2113 e = hdr_delete_de(&ib->ihdr, te); in indx_get_entry_to_replace()
2115 fnd->de[level] = e; in indx_get_entry_to_replace()
2138 struct NTFS_DE *e, *re, *next, *prev, *me; in indx_delete_entry() local
2167 err = indx_find(indx, ni, root, key, key_len, ctx, &diff, &e, fnd); in indx_delete_entry()
2171 if (!e || diff) { in indx_delete_entry()
2179 n = fnd->nodes[level - 1]; in indx_delete_entry()
2180 e = fnd->de[level - 1]; in indx_delete_entry()
2185 e = fnd->root_de; in indx_delete_entry()
2189 e_size = le16_to_cpu(e->size); in indx_delete_entry()
2191 if (!de_has_vcn_ex(e)) { in indx_delete_entry()
2193 hdr_delete_de(hdr, e); in indx_delete_entry()
2211 fnd_push(fnd2, n, e); in indx_delete_entry()
2218 next = de_get_next(e); in indx_delete_entry()
2225 de_set_vbn_le(re, de_get_vbn_le(e)); in indx_delete_entry()
2226 hdr_delete_de(hdr, e); in indx_delete_entry()
2230 fnd->level - 1, in indx_delete_entry()
2232 : indx_insert_into_root(indx, ni, re, e, in indx_delete_entry()
2248 de_set_vbn_le(next, de_get_vbn_le(e)); in indx_delete_entry()
2249 hdr_delete_de(hdr, e); in indx_delete_entry()
2277 hdr = level ? &fnd->nodes[level - 1]->index->ihdr : &root->ihdr; in indx_delete_entry()
2280 for (e = hdr_first_de(hdr);; e = hdr_next_de(hdr, e)) { in indx_delete_entry()
2281 if (!e) { in indx_delete_entry()
2286 if (de_has_vcn(e) && sub_vbn == de_get_vbn_le(e)) in indx_delete_entry()
2289 if (de_is_last(e)) { in indx_delete_entry()
2290 e = NULL; in indx_delete_entry()
2295 if (!e) { in indx_delete_entry()
2320 struct indx_node *in = fnd->nodes[level - 1]; in indx_delete_entry()
2336 e = hdr_first_de(hdr); in indx_delete_entry()
2337 if (!e) { in indx_delete_entry()
2342 if (hdr != &root->ihdr || !de_is_last(e)) { in indx_delete_entry()
2344 while (!de_is_last(e)) { in indx_delete_entry()
2345 if (de_has_vcn(e) && sub_vbn == de_get_vbn_le(e)) in indx_delete_entry()
2347 prev = e; in indx_delete_entry()
2348 e = hdr_next_de(hdr, e); in indx_delete_entry()
2349 if (!e) { in indx_delete_entry()
2355 if (sub_vbn != de_get_vbn_le(e)) { in indx_delete_entry()
2364 if (de_is_last(e)) { in indx_delete_entry()
2378 de_set_vbn_le(e, de_get_vbn_le(prev)); in indx_delete_entry()
2379 } else if (de_has_vcn(e)) { in indx_delete_entry()
2380 le16_sub_cpu(&e->size, sizeof(u64)); in indx_delete_entry()
2381 e->flags &= ~NTFS_IE_HAS_SUBNODES; in indx_delete_entry()
2384 e = prev; in indx_delete_entry()
2392 e_size = le16_to_cpu(e->size); in indx_delete_entry()
2393 me = kmemdup(e, e_size, GFP_NOFS); in indx_delete_entry()
2404 hdr_delete_de(hdr, e); in indx_delete_entry()
2418 trim_bit = -1; in indx_delete_entry()
2443 if (trim_bit != -1) in indx_delete_entry()
2485 e = (struct NTFS_DE *)(root + 1); in indx_delete_entry()
2486 e->ref.low = 0; in indx_delete_entry()
2487 e->ref.high = 0; in indx_delete_entry()
2488 e->ref.seq = 0; in indx_delete_entry()
2489 e->size = cpu_to_le16(sizeof(struct NTFS_DE)); in indx_delete_entry()
2490 e->flags = NTFS_IE_LAST; // 0x02 in indx_delete_entry()
2491 e->key_size = 0; in indx_delete_entry()
2492 e->res = 0; in indx_delete_entry()
2518 struct NTFS_DE *e = NULL; in indx_update_dup() local
2537 &diff, &e, fnd); in indx_update_dup()
2541 if (!e) { in indx_update_dup()
2551 e_fname = (struct ATTR_FILE_NAME *)(e + 1); in indx_update_dup()
2564 err = indx_write(indx, ni, fnd->nodes[fnd->level - 1], sync); in indx_update_dup()
2569 err = mi_write(mi, 1); in indx_update_dup()