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
1059 e = fnd->level ? fnd->de[fnd->level - 1] : fnd->root_de; in indx_find()
1060 if (e && !de_is_last(e) && in indx_find()
1061 !(*indx->cmp)(key, key_len, e + 1, le16_to_cpu(e->key_size), ctx)) { in indx_find()
1062 *entry = e; in indx_find()
1071 e = hdr_find_e(indx, hdr, key, key_len, ctx, diff); in indx_find()
1072 if (!e) in indx_find()
1075 fnd->root_de = e; in indx_find()
1080 if (*diff >= 0 || !de_has_vcn_ex(e)) { in indx_find()
1081 *entry = e; in indx_find()
1086 err = indx_read(indx, ni, de_get_vbn(e), &node); in indx_find()
1091 e = hdr_find_e(indx, &node->index->ihdr, key, key_len, ctx, in indx_find()
1093 if (!e) { in indx_find()
1099 fnd_push(fnd, node, e); in indx_find()
1112 struct NTFS_DE *e; in indx_find_sort() local
1118 e = hdr_first_de(&root->ihdr); in indx_find_sort()
1119 if (!e) in indx_find_sort()
1122 fnd->root_de = e; in indx_find_sort()
1129 e = hdr_next_de(&root->ihdr, fnd->root_de); in indx_find_sort()
1130 if (!e) in indx_find_sort()
1132 fnd->root_de = e; in indx_find_sort()
1134 n = fnd->nodes[level - 1]; in indx_find_sort()
1135 e = fnd->de[level - 1]; in indx_find_sort()
1137 if (de_is_last(e)) in indx_find_sort()
1140 e = hdr_next_de(&n->index->ihdr, e); in indx_find_sort()
1141 if (!e) in indx_find_sort()
1144 fnd->de[level - 1] = e; in indx_find_sort()
1152 while (de_has_vcn_ex(e)) { in indx_find_sort()
1153 if (le16_to_cpu(e->size) < in indx_find_sort()
1163 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_sort()
1168 e = hdr_first_de(&n->index->ihdr); in indx_find_sort()
1169 if (!e) { in indx_find_sort()
1174 fnd_push(fnd, n, e); in indx_find_sort()
1177 if (le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) { in indx_find_sort()
1178 *entry = e; in indx_find_sort()
1184 if (!de_is_last(e)) in indx_find_sort()
1196 n = fnd->nodes[level - 1]; in indx_find_sort()
1197 e = fnd->de[level - 1]; in indx_find_sort()
1200 e = fnd->root_de; in indx_find_sort()
1207 if (le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) { in indx_find_sort()
1208 *entry = e; in indx_find_sort()
1210 fnd->root_de = e; in indx_find_sort()
1222 struct NTFS_DE *e = NULL; in indx_find_raw() local
1232 e = hdr_first_de(&root->ihdr); in indx_find_raw()
1233 if (!e) in indx_find_raw()
1236 fnd->root_de = e; in indx_find_raw()
1253 if (e && le16_to_cpu(e->size) > sizeof(struct NTFS_DE)) in indx_find_raw()
1259 e = hdr_next_de(&root->ihdr, fnd->root_de); in indx_find_raw()
1260 if (!e) in indx_find_raw()
1262 fnd->root_de = e; in indx_find_raw()
1270 e2 = fnd->de[fnd->level - 1]; in indx_find_raw()
1272 n = fnd->nodes[fnd->level - 1]; in indx_find_raw()
1275 e = hdr_next_de(&n->index->ihdr, e2); in indx_find_raw()
1276 if (!e) in indx_find_raw()
1278 fnd->de[fnd->level - 1] = e; in indx_find_raw()
1311 e = hdr_first_de(&n->index->ihdr); in indx_find_raw()
1312 fnd_push(fnd, n, e); in indx_find_raw()
1313 if (!e) in indx_find_raw()
1320 /* 'e' points in root, */ in indx_find_raw()
1321 *off = PtrOffset(&root->ihdr, e); in indx_find_raw()
1323 /* 'e' points in index, */ in indx_find_raw()
1325 record_size + PtrOffset(&n->index->ihdr, e); in indx_find_raw()
1328 *entry = e; in indx_find_raw()
1342 u32 data_size = 1u << indx->index_bits; in indx_create_allocate()
1363 err = ni_insert_resident(ni, bitmap_size(1), ATTR_BITMAP, in->name, in indx_create_allocate()
1420 data_size = (u64)(bit + 1) << indx->index_bits; in indx_add_allocate()
1425 &indx->bitmap_run, bitmap_size(bit + 1), in indx_add_allocate()
1475 struct NTFS_DE *e, *e0, *re; in indx_insert_into_root() local
1513 e = hdr_insert_de(indx, hdr, new_de, root_de, ctx); in indx_insert_into_root()
1514 WARN_ON(!e); in indx_insert_into_root()
1516 fnd->root_de = e; in indx_insert_into_root()
1534 for (e = e0;; e = hdr_next_de(hdr, e)) { in indx_insert_into_root()
1535 if (!e) { in indx_insert_into_root()
1540 if (de_is_last(e)) in indx_insert_into_root()
1542 to_move += le16_to_cpu(e->size); in indx_insert_into_root()
1556 if (de_has_vcn(e)) { in indx_insert_into_root()
1557 t_vbn = de_get_vbn_le(e); in indx_insert_into_root()
1575 e = (struct NTFS_DE *)(root + 1); in indx_insert_into_root()
1576 memset(e, 0, sizeof(struct NTFS_DE)); in indx_insert_into_root()
1577 e->size = cpu_to_le16(sizeof(struct NTFS_DE) + sizeof(u64)); in indx_insert_into_root()
1578 e->flags = NTFS_IE_HAS_SUBNODES | NTFS_IE_LAST; in indx_insert_into_root()
1580 hdr->flags = 1; in indx_insert_into_root()
1612 e = (struct NTFS_DE *)(root + 1); in indx_insert_into_root()
1613 *(__le64 *)(e + 1) = cpu_to_le64(new_vbn); in indx_insert_into_root()
1638 * new entry classic case when MFT record is 1K and index in indx_insert_into_root()
1654 e = hdr_insert_de(indx, hdr, new_de, NULL, ctx); in indx_insert_into_root()
1655 if (!e) { in indx_insert_into_root()
1659 fnd_push(fnd, n, e); in indx_insert_into_root()
1688 struct NTFS_DE *e, *de_t, *up_e = NULL; in indx_insert_into_buffer() local
1699 e = fnd->level - 1 == level ? fnd->de[level] : NULL; in indx_insert_into_buffer()
1700 e = hdr_insert_de(indx, hdr1, new_de, e, ctx); in indx_insert_into_buffer()
1701 fnd->de[level] = e; in indx_insert_into_buffer()
1702 if (e) { in indx_insert_into_buffer()
1770 (*indx->cmp)(new_de + 1, le16_to_cpu(new_de->key_size), in indx_insert_into_buffer()
1771 up_e + 1, le16_to_cpu(up_e->key_size), in indx_insert_into_buffer()
1799 level - 1, fnd); in indx_insert_into_buffer()
1821 struct NTFS_DE *e; in indx_insert_entry() local
1845 err = indx_find(indx, ni, root, new_de + 1, in indx_insert_entry()
1846 le16_to_cpu(new_de->key_size), ctx, &diff, &e, in indx_insert_entry()
1871 fnd->level - 1, fnd); in indx_insert_entry()
1891 const struct NTFS_DE *e; in indx_find_buffer() local
1895 /* Step 1: Scan one level. */ in indx_find_buffer()
1896 for (e = hdr_first_de(hdr);; e = hdr_next_de(hdr, e)) { in indx_find_buffer()
1897 if (!e) in indx_find_buffer()
1900 if (de_has_vcn(e) && vbn == de_get_vbn_le(e)) in indx_find_buffer()
1903 if (de_is_last(e)) in indx_find_buffer()
1908 e = Add2Ptr(hdr, le32_to_cpu(hdr->de_off)); in indx_find_buffer()
1910 if (de_has_vcn_ex(e)) { in indx_find_buffer()
1911 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_buffer()
1920 if (de_is_last(e)) in indx_find_buffer()
1923 e = Add2Ptr(e, le16_to_cpu(e->size)); in indx_find_buffer()
1994 const struct NTFS_DE *e, bool trim) in indx_free_children() argument
1999 CLST vbn = de_get_vbn(e); in indx_free_children()
2009 for (e = hdr_first_de(hdr); e; e = hdr_next_de(hdr, e)) { in indx_free_children()
2010 indx_free_children(indx, ni, e, false); in indx_free_children()
2011 if (de_is_last(e)) in indx_free_children()
2032 indx_shrink(indx, ni, i + 1); in indx_free_children()
2050 int level = -1; in indx_get_entry_to_replace()
2052 struct NTFS_DE *e, *te, *re; in indx_get_entry_to_replace() local
2066 e = hdr_first_de(&n->index->ihdr); in indx_get_entry_to_replace()
2067 fnd_push(fnd, n, e); in indx_get_entry_to_replace()
2069 if (!de_is_last(e)) { in indx_get_entry_to_replace()
2074 level = fnd->level - 1; in indx_get_entry_to_replace()
2077 if (!de_has_vcn(e)) in indx_get_entry_to_replace()
2081 vbn = de_get_vbn(e); in indx_get_entry_to_replace()
2084 if (level == -1) in indx_get_entry_to_replace()
2120 e = hdr_delete_de(&ib->ihdr, te); in indx_get_entry_to_replace()
2122 fnd->de[level] = e; in indx_get_entry_to_replace()
2145 struct NTFS_DE *e, *re, *next, *prev, *me; in indx_delete_entry() local
2174 err = indx_find(indx, ni, root, key, key_len, ctx, &diff, &e, fnd); in indx_delete_entry()
2178 if (!e || diff) { in indx_delete_entry()
2186 n = fnd->nodes[level - 1]; in indx_delete_entry()
2187 e = fnd->de[level - 1]; in indx_delete_entry()
2192 e = fnd->root_de; in indx_delete_entry()
2196 e_size = le16_to_cpu(e->size); in indx_delete_entry()
2198 if (!de_has_vcn_ex(e)) { in indx_delete_entry()
2200 hdr_delete_de(hdr, e); in indx_delete_entry()
2218 fnd_push(fnd2, n, e); in indx_delete_entry()
2225 next = de_get_next(e); in indx_delete_entry()
2232 de_set_vbn_le(re, de_get_vbn_le(e)); in indx_delete_entry()
2233 hdr_delete_de(hdr, e); in indx_delete_entry()
2237 fnd->level - 1, in indx_delete_entry()
2239 : indx_insert_into_root(indx, ni, re, e, in indx_delete_entry()
2255 de_set_vbn_le(next, de_get_vbn_le(e)); in indx_delete_entry()
2256 hdr_delete_de(hdr, e); in indx_delete_entry()
2284 hdr = level ? &fnd->nodes[level - 1]->index->ihdr : &root->ihdr; in indx_delete_entry()
2287 for (e = hdr_first_de(hdr);; e = hdr_next_de(hdr, e)) { in indx_delete_entry()
2288 if (!e) { in indx_delete_entry()
2293 if (de_has_vcn(e) && sub_vbn == de_get_vbn_le(e)) in indx_delete_entry()
2296 if (de_is_last(e)) { in indx_delete_entry()
2297 e = NULL; in indx_delete_entry()
2302 if (!e) { in indx_delete_entry()
2327 struct indx_node *in = fnd->nodes[level - 1]; in indx_delete_entry()
2343 e = hdr_first_de(hdr); in indx_delete_entry()
2344 if (!e) { in indx_delete_entry()
2349 if (hdr != &root->ihdr || !de_is_last(e)) { in indx_delete_entry()
2351 while (!de_is_last(e)) { in indx_delete_entry()
2352 if (de_has_vcn(e) && sub_vbn == de_get_vbn_le(e)) in indx_delete_entry()
2354 prev = e; in indx_delete_entry()
2355 e = hdr_next_de(hdr, e); in indx_delete_entry()
2356 if (!e) { in indx_delete_entry()
2362 if (sub_vbn != de_get_vbn_le(e)) { in indx_delete_entry()
2371 if (de_is_last(e)) { in indx_delete_entry()
2385 de_set_vbn_le(e, de_get_vbn_le(prev)); in indx_delete_entry()
2386 } else if (de_has_vcn(e)) { in indx_delete_entry()
2387 le16_sub_cpu(&e->size, sizeof(u64)); in indx_delete_entry()
2388 e->flags &= ~NTFS_IE_HAS_SUBNODES; in indx_delete_entry()
2391 e = prev; in indx_delete_entry()
2399 e_size = le16_to_cpu(e->size); in indx_delete_entry()
2400 me = kmemdup(e, e_size, GFP_NOFS); in indx_delete_entry()
2411 hdr_delete_de(hdr, e); in indx_delete_entry()
2425 trim_bit = -1; in indx_delete_entry()
2450 if (trim_bit != -1) in indx_delete_entry()
2492 e = (struct NTFS_DE *)(root + 1); in indx_delete_entry()
2493 e->ref.low = 0; in indx_delete_entry()
2494 e->ref.high = 0; in indx_delete_entry()
2495 e->ref.seq = 0; in indx_delete_entry()
2496 e->size = cpu_to_le16(sizeof(struct NTFS_DE)); in indx_delete_entry()
2497 e->flags = NTFS_IE_LAST; // 0x02 in indx_delete_entry()
2498 e->key_size = 0; in indx_delete_entry()
2499 e->res = 0; in indx_delete_entry()
2525 struct NTFS_DE *e = NULL; in indx_update_dup() local
2544 &diff, &e, fnd); in indx_update_dup()
2548 if (!e) { in indx_update_dup()
2558 e_fname = (struct ATTR_FILE_NAME *)(e + 1); in indx_update_dup()
2571 err = indx_write(indx, ni, fnd->nodes[fnd->level - 1], sync); in indx_update_dup()
2576 err = mi_write(mi, 1); in indx_update_dup()