Lines Matching refs:entry

159 ext2_extattr_check(struct ext2fs_extattr_entry *entry, char *end)  in ext2_extattr_check()  argument
163 while (!EXT2_IS_LAST_ENTRY(entry)) { in ext2_extattr_check()
164 next = EXT2_EXTATTR_NEXT(entry); in ext2_extattr_check()
168 entry = next; in ext2_extattr_check()
197 struct ext2fs_extattr_entry *entry; in ext2_extattr_inode_list() local
231 for (entry = EXT2_IFIRST(header); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_inode_list()
232 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_inode_list()
233 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_inode_list()
237 name_len = entry->e_name_len; in ext2_extattr_inode_list()
238 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_inode_list()
239 entry->e_name, &name_len); in ext2_extattr_inode_list()
271 struct ext2fs_extattr_entry *entry; in ext2_extattr_block_list() local
298 for (entry = EXT2_FIRST_ENTRY(bp); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_block_list()
299 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_block_list()
300 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_block_list()
304 name_len = entry->e_name_len; in ext2_extattr_block_list()
305 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_block_list()
306 entry->e_name, &name_len); in ext2_extattr_block_list()
338 struct ext2fs_extattr_entry *entry; in ext2_extattr_inode_get() local
372 for (entry = EXT2_IFIRST(header); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_inode_get()
373 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_inode_get()
374 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_inode_get()
378 name_len = entry->e_name_len; in ext2_extattr_inode_get()
379 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_inode_get()
380 entry->e_name, &name_len); in ext2_extattr_inode_get()
389 *size += le32toh(entry->e_value_size); in ext2_extattr_inode_get()
393 le16toh(entry->e_value_offs), in ext2_extattr_inode_get()
394 le32toh(entry->e_value_size), uio); in ext2_extattr_inode_get()
413 struct ext2fs_extattr_entry *entry; in ext2_extattr_block_get() local
440 for (entry = EXT2_FIRST_ENTRY(bp); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_block_get()
441 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_block_get()
442 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_block_get()
446 name_len = entry->e_name_len; in ext2_extattr_block_get()
447 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_block_get()
448 entry->e_name, &name_len); in ext2_extattr_block_get()
457 *size += le32toh(entry->e_value_size); in ext2_extattr_block_get()
461 le16toh(entry->e_value_offs), in ext2_extattr_block_get()
462 le32toh(entry->e_value_size), uio); in ext2_extattr_block_get()
477 struct ext2fs_extattr_entry *entry, char *end) in ext2_extattr_delete_value() argument
492 if (entry->e_value_size == 0) in ext2_extattr_delete_value()
495 memmove(off + min_offs + EXT2_EXTATTR_SIZE(le32toh(entry->e_value_size)), in ext2_extattr_delete_value()
496 off + min_offs, le16toh(entry->e_value_offs) - min_offs); in ext2_extattr_delete_value()
503 le16toh(next->e_value_offs) < le16toh(entry->e_value_offs)) in ext2_extattr_delete_value()
505 EXT2_EXTATTR_SIZE(le32toh(entry->e_value_size))); in ext2_extattr_delete_value()
510 min_offs += EXT2_EXTATTR_SIZE(le32toh(entry->e_value_size)); in ext2_extattr_delete_value()
518 struct ext2fs_extattr_entry *entry, char *end) in ext2_extattr_delete_entry() argument
524 ext2_extattr_delete_value(off, first_entry, entry, end); in ext2_extattr_delete_entry()
533 memmove(entry, (char *)entry + EXT2_EXTATTR_LEN(entry->e_name_len), in ext2_extattr_delete_entry()
534 pad - ((char *)entry + EXT2_EXTATTR_LEN(entry->e_name_len))); in ext2_extattr_delete_entry()
543 struct ext2fs_extattr_entry *entry; in ext2_extattr_inode_delete() local
578 entry = EXT2_IFIRST(header); in ext2_extattr_inode_delete()
579 if ((EXT2_IS_LAST_ENTRY(EXT2_EXTATTR_NEXT(entry))) && in ext2_extattr_inode_delete()
580 (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) == in ext2_extattr_inode_delete()
582 name_len = entry->e_name_len; in ext2_extattr_inode_delete()
583 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_inode_delete()
584 entry->e_name, &name_len); in ext2_extattr_inode_delete()
598 for (entry = EXT2_IFIRST(header); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_inode_delete()
599 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_inode_delete()
600 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_inode_delete()
604 name_len = entry->e_name_len; in ext2_extattr_inode_delete()
605 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_inode_delete()
606 entry->e_name, &name_len); in ext2_extattr_inode_delete()
615 EXT2_IFIRST(header), entry, in ext2_extattr_inode_delete()
675 struct ext2fs_extattr_entry *entry; in ext2_extattr_block_delete() local
711 entry = EXT2_FIRST_ENTRY(bp); in ext2_extattr_block_delete()
712 if (EXT2_IS_LAST_ENTRY(EXT2_EXTATTR_NEXT(entry)) && in ext2_extattr_block_delete()
713 (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) == in ext2_extattr_block_delete()
715 name_len = entry->e_name_len; in ext2_extattr_block_delete()
716 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_block_delete()
717 entry->e_name, &name_len); in ext2_extattr_block_delete()
735 for (entry = EXT2_FIRST_ENTRY(bp); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_block_delete()
736 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_block_delete()
737 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_block_delete()
741 name_len = entry->e_name_len; in ext2_extattr_block_delete()
742 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_block_delete()
743 entry->e_name, &name_len); in ext2_extattr_block_delete()
752 EXT2_FIRST_ENTRY(bp), entry, in ext2_extattr_block_delete()
770 struct ext2fs_extattr_entry *entry; in allocate_entry() local
775 entry = malloc(sizeof(struct ext2fs_extattr_entry) + name_len, in allocate_entry()
778 entry->e_name_len = name_len; in allocate_entry()
779 entry->e_name_index = ext2_extattr_attrnamespace_to_linux(attrnamespace, name); in allocate_entry()
780 entry->e_value_offs = htole16(offs); in allocate_entry()
781 entry->e_value_block = 0; in allocate_entry()
782 entry->e_value_size = htole32(size); in allocate_entry()
783 entry->e_hash = htole32(hash); in allocate_entry()
784 memcpy(entry->e_name, name, name_len); in allocate_entry()
786 return (entry); in allocate_entry()
790 free_entry(struct ext2fs_extattr_entry *entry) in free_entry() argument
793 free(entry, M_TEMP); in free_entry()
801 struct ext2fs_extattr_entry *entry; in ext2_extattr_get_size() local
813 for (entry = first_entry; !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_get_size()
814 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_get_size()
815 if (entry != exist_entry) in ext2_extattr_get_size()
816 size += EXT2_EXTATTR_LEN(entry->e_name_len) + in ext2_extattr_get_size()
817 EXT2_EXTATTR_SIZE(le32toh(entry->e_value_size)); in ext2_extattr_get_size()
819 size += EXT2_EXTATTR_LEN(entry->e_name_len) + in ext2_extattr_get_size()
829 struct ext2fs_extattr_entry *entry, in ext2_extattr_set_exist_entry() argument
834 min_offs = ext2_extattr_delete_value(off, first_entry, entry, end); in ext2_extattr_set_exist_entry()
836 entry->e_value_size = htole32(uio->uio_resid); in ext2_extattr_set_exist_entry()
837 if (le32toh(entry->e_value_size)) in ext2_extattr_set_exist_entry()
838 entry->e_value_offs = htole16(min_offs - in ext2_extattr_set_exist_entry()
841 entry->e_value_offs = 0; in ext2_extattr_set_exist_entry()
843 uiomove(off + le16toh(entry->e_value_offs), in ext2_extattr_set_exist_entry()
844 le32toh(entry->e_value_size), uio); in ext2_extattr_set_exist_entry()
854 struct ext2fs_extattr_entry *entry; in ext2_extattr_set_new_entry() local
859 entry = first_entry; in ext2_extattr_set_new_entry()
860 while (!EXT2_IS_LAST_ENTRY(entry)) { in ext2_extattr_set_new_entry()
861 if (min_offs > le16toh(entry->e_value_offs) && in ext2_extattr_set_new_entry()
862 le16toh(entry->e_value_offs) > 0) in ext2_extattr_set_new_entry()
863 min_offs = le16toh(entry->e_value_offs); in ext2_extattr_set_new_entry()
865 entry = EXT2_EXTATTR_NEXT(entry); in ext2_extattr_set_new_entry()
868 pad = (char*)entry + sizeof(uint32_t); in ext2_extattr_set_new_entry()
872 entry = first_entry; in ext2_extattr_set_new_entry()
873 while (!EXT2_IS_LAST_ENTRY(entry)) { in ext2_extattr_set_new_entry()
874 if (!(attrnamespace - entry->e_name_index) && in ext2_extattr_set_new_entry()
875 !(name_len - entry->e_name_len)) in ext2_extattr_set_new_entry()
876 if (memcmp(name, entry->e_name, name_len) <= 0) in ext2_extattr_set_new_entry()
879 entry = EXT2_EXTATTR_NEXT(entry); in ext2_extattr_set_new_entry()
884 memmove((char *)entry + EXT2_EXTATTR_LEN(new_entry->e_name_len), entry, in ext2_extattr_set_new_entry()
885 pad - (char*)entry); in ext2_extattr_set_new_entry()
887 memcpy(entry, new_entry, EXT2_EXTATTR_LEN(new_entry->e_name_len)); in ext2_extattr_set_new_entry()
890 new_entry = entry; in ext2_extattr_set_new_entry()
908 struct ext2fs_extattr_entry *entry; in ext2_extattr_inode_set() local
944 for (entry = EXT2_IFIRST(header); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_inode_set()
945 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_inode_set()
946 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_inode_set()
950 name_len = entry->e_name_len; in ext2_extattr_inode_set()
951 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_inode_set()
952 entry->e_name, &name_len); in ext2_extattr_inode_set()
966 if (!EXT2_IS_LAST_ENTRY(entry)) { in ext2_extattr_inode_set()
967 size = ext2_extattr_get_size(EXT2_IFIRST(header), entry, in ext2_extattr_inode_set()
969 entry->e_name_len, uio->uio_resid); in ext2_extattr_inode_set()
976 EXT2_IFIRST(header), entry, (char *)header + max_size, uio); in ext2_extattr_inode_set()
993 entry->e_name_len, uio->uio_resid); in ext2_extattr_inode_set()
1009 struct ext2fs_extattr_entry *entry) in ext2_extattr_hash_entry() argument
1012 char *name = entry->e_name; in ext2_extattr_hash_entry()
1015 for (n=0; n < entry->e_name_len; n++) { in ext2_extattr_hash_entry()
1021 if (entry->e_value_block == 0 && entry->e_value_size != 0) { in ext2_extattr_hash_entry()
1023 le16toh(entry->e_value_offs)); in ext2_extattr_hash_entry()
1024 for (n = (le32toh(entry->e_value_size) + in ext2_extattr_hash_entry()
1032 entry->e_hash = htole32(hash); in ext2_extattr_hash_entry()
1037 struct ext2fs_extattr_entry *entry) in ext2_extattr_rehash() argument
1042 ext2_extattr_hash_entry(header, entry); in ext2_extattr_rehash()
1069 struct ext2fs_extattr_entry *entry; in ext2_extattr_block_set() local
1109 for (entry = EXT2_FIRST_ENTRY(bp); !EXT2_IS_LAST_ENTRY(entry); in ext2_extattr_block_set()
1110 entry = EXT2_EXTATTR_NEXT(entry)) { in ext2_extattr_block_set()
1111 if (ext2_extattr_attrnamespace_to_bsd(entry->e_name_index) != in ext2_extattr_block_set()
1115 name_len = entry->e_name_len; in ext2_extattr_block_set()
1116 attr_name = ext2_extattr_name_to_bsd(entry->e_name_index, in ext2_extattr_block_set()
1117 entry->e_name, &name_len); in ext2_extattr_block_set()
1128 if (!EXT2_IS_LAST_ENTRY(entry)) { in ext2_extattr_block_set()
1129 size = ext2_extattr_get_size(EXT2_FIRST_ENTRY(bp), entry, in ext2_extattr_block_set()
1131 entry->e_name_len, uio->uio_resid); in ext2_extattr_block_set()
1138 entry, bp->b_data + bp->b_bufsize, uio); in ext2_extattr_block_set()
1148 entry = ext2_extattr_set_new_entry(bp->b_data, EXT2_FIRST_ENTRY(bp), in ext2_extattr_block_set()
1159 ext2_extattr_rehash(header, entry); in ext2_extattr_block_set()
1197 entry = ext2_extattr_set_new_entry(bp->b_data, EXT2_FIRST_ENTRY(bp), in ext2_extattr_block_set()
1207 ext2_extattr_rehash(header, entry); in ext2_extattr_block_set()