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