Lines Matching refs:le
163 int ni_load_mi(struct ntfs_inode *ni, const struct ATTR_LIST_ENTRY *le, in ni_load_mi() argument
168 if (!le) { in ni_load_mi()
173 rno = ino_get(&le->ref); in ni_load_mi()
191 struct ATTR_LIST_ENTRY *le; in ni_find_attr() local
206 le = al_find_ex(ni, le_o ? *le_o : NULL, type, name, name_len, vcn); in ni_find_attr()
207 if (!le) in ni_find_attr()
211 *le_o = le; in ni_find_attr()
214 if (ni_load_mi(ni, le, &m)) in ni_find_attr()
218 attr = mi_find_attr(m, NULL, type, name, name_len, &le->id); in ni_find_attr()
248 struct ATTR_LIST_ENTRY **le, in ni_enum_attr_ex() argument
256 *le = NULL; in ni_enum_attr_ex()
264 le2 = *le = al_enumerate(ni, attr ? *le : NULL); in ni_enum_attr_ex()
286 struct ATTR_LIST_ENTRY *le; in ni_load_attr() local
297 le = al_find_ex(ni, NULL, type, name, name_len, NULL); in ni_load_attr()
298 if (!le) in ni_load_attr()
307 for (;; le = next) { in ni_load_attr()
308 next = al_find_ex(ni, le, type, name, name_len, NULL); in ni_load_attr()
314 if (ni_load_mi(ni, le, &mi)) in ni_load_attr()
320 attr = mi_find_attr(mi, NULL, type, name, name_len, &le->id); in ni_load_attr()
340 struct ATTR_LIST_ENTRY *le; in ni_load_all_mi() local
345 le = NULL; in ni_load_all_mi()
347 while ((le = al_enumerate(ni, le))) { in ni_load_all_mi()
348 CLST rno = ino_get(&le->ref); in ni_load_all_mi()
393 struct ATTR_LIST_ENTRY *le; in ni_remove_attr() local
408 le = NULL; in ni_remove_attr()
411 le = al_enumerate(ni, le); in ni_remove_attr()
412 if (!le) in ni_remove_attr()
416 diff = le32_to_cpu(le->type) - type_in; in ni_remove_attr()
423 if (le->name_len != name_len) in ni_remove_attr()
427 memcmp(le_name(le), name, name_len * sizeof(short))) in ni_remove_attr()
430 if (id && le->id != *id) in ni_remove_attr()
432 err = ni_load_mi(ni, le, &mi); in ni_remove_attr()
436 al_remove_le(ni, le); in ni_remove_attr()
444 if (PtrOffset(ni->attr_list.le, le) >= ni->attr_list.size) in ni_remove_attr()
457 struct ATTR_LIST_ENTRY *le, enum ATTR_TYPE type, in ni_ins_new_attr() argument
468 if (type != ATTR_LIST && !le && ni->attr_list.size) { in ni_ins_new_attr()
470 &ref, &le); in ni_ins_new_attr()
483 name = le->name; in ni_ins_new_attr()
489 al_remove_le(ni, le); in ni_ins_new_attr()
498 if (!le) in ni_ins_new_attr()
502 le->id = attr->id; in ni_ins_new_attr()
504 le->ref = ref; in ni_ins_new_attr()
508 *ins_le = le; in ni_ins_new_attr()
528 struct ATTR_LIST_ENTRY *le = NULL, *le_p; in ni_repack()
537 while ((attr = ni_enum_attr_ex(ni, attr, &le, &mi))) { in ni_repack()
542 if (svcn != le64_to_cpu(le->vcn)) { in ni_repack()
592 le_p = le; in ni_repack()
609 al_remove_le(ni, le); in ni_repack()
611 le = le_p; in ni_repack()
615 attr->nres.svcn = le->vcn = cpu_to_le64(next_svcn); in ni_repack()
630 le_p = le; in ni_repack()
660 struct ATTR_LIST_ENTRY *le; in ni_try_remove_attr_list() local
684 le = NULL; in ni_try_remove_attr_list()
685 while ((le = al_enumerate(ni, le))) { in ni_try_remove_attr_list()
686 if (!memcmp(&le->ref, &ref, sizeof(ref))) in ni_try_remove_attr_list()
689 if (le->vcn) in ni_try_remove_attr_list()
692 mi = ni_find_mi(ni, ino_get(&le->ref)); in ni_try_remove_attr_list()
696 attr = mi_find_attr(mi, NULL, le->type, le_name(le), in ni_try_remove_attr_list()
697 le->name_len, &le->id); in ni_try_remove_attr_list()
721 le = NULL; in ni_try_remove_attr_list()
722 while ((le = al_enumerate(ni, le))) { in ni_try_remove_attr_list()
723 if (!memcmp(&le->ref, &ref, sizeof(ref))) in ni_try_remove_attr_list()
726 mi = ni_find_mi(ni, ino_get(&le->ref)); in ni_try_remove_attr_list()
732 attr = mi_find_attr(mi, NULL, le->type, le_name(le), in ni_try_remove_attr_list()
733 le->name_len, &le->id); in ni_try_remove_attr_list()
741 attr_ins = mi_insert_attr(&ni->mi, le->type, le_name(le), in ni_try_remove_attr_list()
742 le->name_len, asize, in ni_try_remove_attr_list()
760 le = NULL; in ni_try_remove_attr_list()
761 while ((le = al_enumerate(ni, le))) { in ni_try_remove_attr_list()
762 if (!memcmp(&le->ref, &ref, sizeof(ref))) in ni_try_remove_attr_list()
765 mi = ni_find_mi(ni, ino_get(&le->ref)); in ni_try_remove_attr_list()
769 attr = mi_find_attr(mi, NULL, le->type, le_name(le), in ni_try_remove_attr_list()
770 le->name_len, &le->id); in ni_try_remove_attr_list()
781 kfree(ni->attr_list.le); in ni_try_remove_attr_list()
782 ni->attr_list.le = NULL; in ni_try_remove_attr_list()
804 struct ATTR_LIST_ENTRY *le, *le_b[7]; in ni_create_attr_list() local
820 le = kmalloc(al_aligned(rs), GFP_NOFS); in ni_create_attr_list()
821 if (!le) in ni_create_attr_list()
824 mi_get_ref(&ni->mi, &le->ref); in ni_create_attr_list()
825 ni->attr_list.le = le; in ni_create_attr_list()
832 for (; (attr = mi_enum_attr(&ni->mi, attr)); le = Add2Ptr(le, sz)) { in ni_create_attr_list()
834 le->type = attr->type; in ni_create_attr_list()
835 le->size = cpu_to_le16(sz); in ni_create_attr_list()
836 le->name_len = attr->name_len; in ni_create_attr_list()
837 le->name_off = offsetof(struct ATTR_LIST_ENTRY, name); in ni_create_attr_list()
838 le->vcn = 0; in ni_create_attr_list()
839 if (le != ni->attr_list.le) in ni_create_attr_list()
840 le->ref = ni->attr_list.le->ref; in ni_create_attr_list()
841 le->id = attr->id; in ni_create_attr_list()
844 memcpy(le->name, attr_name(attr), in ni_create_attr_list()
854 le_b[nb] = le; in ni_create_attr_list()
860 lsize = PtrOffset(ni->attr_list.le, le); in ni_create_attr_list()
922 memcpy(resident_data_ex(attr, lsize), ni->attr_list.le, lsize); in ni_create_attr_list()
930 kfree(ni->attr_list.le); in ni_create_attr_list()
931 ni->attr_list.le = NULL; in ni_create_attr_list()
939 static int ni_ins_attr_ext(struct ntfs_inode *ni, struct ATTR_LIST_ENTRY *le, in ni_ins_attr_ext() argument
1022 attr = ni_ins_new_attr(ni, mi, le, type, name, name_len, asize, in ni_ins_attr_ext()
1047 attr = ni_ins_new_attr(ni, mi, le, type, name, name_len, asize, in ni_ins_attr_ext()
1101 struct ATTR_LIST_ENTRY *le; in ni_insert_attr() local
1187 le = NULL; in ni_insert_attr()
1189 le = al_find_le(ni, NULL, attr); in ni_insert_attr()
1190 if (!le) { in ni_insert_attr()
1199 err = ni_ins_attr_ext(ni, le, attr->type, Add2Ptr(attr, t16), in ni_insert_attr()
1380 struct ATTR_LIST_ENTRY *le; in ni_expand_list() local
1385 le = NULL; in ni_expand_list()
1387 while ((le = al_enumerate(ni, le))) { in ni_expand_list()
1388 if (le->type == ATTR_STD) in ni_expand_list()
1391 if (memcmp(&ref, &le->ref, sizeof(struct MFT_REF))) in ni_expand_list()
1394 if (is_mft && le->type == ATTR_DATA) in ni_expand_list()
1398 attr = rec_find_attr_le(&ni->mi, le); in ni_expand_list()
1407 err = ni_ins_attr_ext(ni, le, attr->type, attr_name(attr), in ni_expand_list()
1416 ins_attr->id = le->id; in ni_expand_list()
1443 struct mft_inode **mi, struct ATTR_LIST_ENTRY **le) in ni_insert_nonresident() argument
1477 &attr, mi, le); in ni_insert_nonresident()
1518 struct ATTR_LIST_ENTRY **le) in ni_insert_resident() argument
1526 0, &attr, mi, le); in ni_insert_resident()
1554 struct mft_inode *mi, struct ATTR_LIST_ENTRY *le) in ni_remove_attr_le() argument
1558 if (le) in ni_remove_attr_le()
1559 al_remove_le(ni, le); in ni_remove_attr_le()
1570 struct ATTR_LIST_ENTRY *le = NULL; in ni_delete_all() local
1580 while ((attr = ni_enum_attr_ex(ni, attr, &le, NULL))) { in ni_delete_all()
1650 struct ATTR_LIST_ENTRY **le) in ni_fname_name() argument
1655 if (le) in ni_fname_name()
1656 *le = NULL; in ni_fname_name()
1660 attr = ni_find_attr(ni, attr, le, ATTR_NAME, NULL, 0, NULL, mi); in ni_fname_name()
1690 struct ATTR_LIST_ENTRY **le) in ni_fname_type() argument
1695 *le = NULL; in ni_fname_type()
1702 attr = ni_find_attr(ni, attr, le, ATTR_NAME, NULL, 0, NULL, mi); in ni_fname_type()
2180 struct ATTR_LIST_ENTRY *le; in ni_decompress_file() local
2278 le = NULL; in ni_decompress_file()
2279 while ((attr = ni_enum_attr_ex(ni, attr, &le, NULL))) { in ni_decompress_file()
2457 struct ATTR_LIST_ENTRY *le = NULL; in ni_read_frame() local
2481 attr = ni_find_attr(ni, NULL, &le, ATTR_DATA, NULL, 0, NULL, NULL); in ni_read_frame()
2531 attr = ni_find_attr(ni, attr, &le, ATTR_DATA, WOF_NAME, in ni_read_frame()
2744 struct ATTR_LIST_ENTRY *le = NULL; in ni_write_frame() local
2753 attr = ni_find_attr(ni, NULL, &le, ATTR_DATA, NULL, 0, NULL, &mi); in ni_write_frame()
2771 err = attr_make_nonresident(ni, attr, le, mi, in ni_write_frame()
2907 struct ATTR_LIST_ENTRY *le; in ni_remove_name() local
2918 &de_name->home, &mi, &le); in ni_remove_name()
2934 ni_remove_attr_le(ni, attr_from_name(fname), mi, le); in ni_remove_name()
2939 fname = ni_fname_type(ni, name_type, &mi, &le); in ni_remove_name()
2955 ni_remove_attr_le(ni, attr_from_name(fname), mi, le); in ni_remove_name()
3018 struct ATTR_LIST_ENTRY *le; in ni_add_name() local
3048 &mi, &le); in ni_add_name()
3057 ni_remove_attr_le(ni, attr, mi, le); in ni_add_name()
3139 struct ATTR_LIST_ENTRY *le = NULL; in ni_update_parent() local
3152 attr = ni_find_attr(ni, NULL, &le, ATTR_DATA, NULL, 0, NULL, in ni_update_parent()
3187 attr = ni_find_attr(ni, attr, &le, ATTR_EA_INFO, NULL, 0, NULL, in ni_update_parent()
3200 le = NULL; in ni_update_parent()
3202 while ((attr = ni_find_attr(ni, attr, &le, ATTR_NAME, NULL, 0, NULL, in ni_update_parent()