Lines Matching refs:ea
105 static int is_os2_xattr(struct jfs_ea *ea) in is_os2_xattr() argument
107 return !is_known_namespace(ea->name); in is_os2_xattr()
110 static inline int name_size(struct jfs_ea *ea) in name_size() argument
112 if (is_os2_xattr(ea)) in name_size()
113 return ea->namelen + XATTR_OS2_PREFIX_LEN; in name_size()
115 return ea->namelen; in name_size()
118 static inline int copy_name(char *buffer, struct jfs_ea *ea) in copy_name() argument
120 int len = ea->namelen; in copy_name()
122 if (is_os2_xattr(ea)) { in copy_name()
127 memcpy(buffer, ea->name, ea->namelen); in copy_name()
128 buffer[ea->namelen] = 0; in copy_name()
159 int size, dxd_t * ea) in ea_write_inline() argument
174 if (!(ji->mode2 & INLINEEA) && !(ji->ea.flag & DXD_INLINE)) in ea_write_inline()
177 DXDsize(ea, size); in ea_write_inline()
178 DXDlength(ea, 0); in ea_write_inline()
179 DXDaddress(ea, 0); in ea_write_inline()
181 ea->flag = DXD_INLINE; in ea_write_inline()
184 ea->flag = 0; in ea_write_inline()
185 DXDsize(ea, 0); in ea_write_inline()
186 DXDlength(ea, 0); in ea_write_inline()
187 DXDaddress(ea, 0); in ea_write_inline()
190 if (ji->ea.flag & DXD_INLINE) in ea_write_inline()
217 dxd_t * ea) in ea_write() argument
235 if (!ea_write_inline(ip, ealist, size, ea)) in ea_write()
302 ea->flag = DXD_EXTENT; in ea_write()
303 DXDsize(ea, le32_to_cpu(ealist->size)); in ea_write()
304 DXDlength(ea, nblocks); in ea_write()
305 DXDaddress(ea, blkno); in ea_write()
308 if (ji->ea.flag & DXD_INLINE) in ea_write()
335 int ea_size = sizeDXD(&ji->ea); in ea_read_inline()
343 if ((sizeDXD(&ji->ea) > sizeof (ji->i_inline_ea))) in ea_read_inline()
380 if (ji->ea.flag & DXD_INLINE) in ea_read()
383 nbytes = sizeDXD(&ji->ea); in ea_read()
393 nblocks = lengthDXD(&ji->ea) << sbi->l2nbperpage; in ea_read()
394 blkno = addressDXD(&ji->ea) << sbi->l2nbperpage; in ea_read()
446 int ea_size = sizeDXD(&ji->ea); in ea_get()
453 if (ji->ea.flag == 0) in ea_get()
475 } else if (ji->ea.flag & DXD_INLINE) { in ea_get()
484 if (!(ji->ea.flag & DXD_EXTENT)) { in ea_get()
560 ea_buf->mp = read_metapage(inode, addressDXD(&ji->ea), in ea_get()
561 lengthDXD(&ji->ea) << sb->s_blocksize_bits, in ea_get()
638 if (ji->ea.flag & DXD_EXTENT) { in ea_put()
639 invalidate_dxd_metapages(inode, ji->ea); in ea_put()
640 old_blocks = lengthDXD(&ji->ea); in ea_put()
644 txEA(tid, inode, &ji->ea, &ea_buf->new_ea); in ea_put()
647 if (ji->ea.flag & DXD_INLINE) in ea_put()
650 ji->ea = ea_buf->new_ea; in ea_put()
652 txEA(tid, inode, &ji->ea, NULL); in ea_put()
653 if (ji->ea.flag & DXD_INLINE) in ea_put()
655 ji->ea.flag = 0; in ea_put()
656 ji->ea.size = 0; in ea_put()
701 struct jfs_ea *ea, *old_ea = NULL, *next_ea = NULL; in __jfs_setxattr() local
735 for (ea = FIRST_EA(ealist); ea < END_EALIST(ealist); in __jfs_setxattr()
736 ea = NEXT_EA(ea)) { in __jfs_setxattr()
737 if ((namelen == ea->namelen) && in __jfs_setxattr()
738 (memcmp(name, ea->name, namelen) == 0)) { in __jfs_setxattr()
744 old_ea = ea; in __jfs_setxattr()
745 old_ea_size = EA_SIZE(ea); in __jfs_setxattr()
746 next_ea = NEXT_EA(ea); in __jfs_setxattr()
748 new_size += EA_SIZE(ea); in __jfs_setxattr()
807 ea = (struct jfs_ea *) ((char *) ealist + xattr_size); in __jfs_setxattr()
808 ea->flag = 0; in __jfs_setxattr()
809 ea->namelen = namelen; in __jfs_setxattr()
810 ea->valuelen = (cpu_to_le16(value_len)); in __jfs_setxattr()
811 memcpy(ea->name, name, namelen); in __jfs_setxattr()
812 ea->name[namelen] = 0; in __jfs_setxattr()
814 memcpy(&ea->name[namelen + 1], value, value_len); in __jfs_setxattr()
815 xattr_size += EA_SIZE(ea); in __jfs_setxattr()
889 struct jfs_ea *ea; in __jfs_getxattr() local
911 for (ea = FIRST_EA(ealist); ea < END_EALIST(ealist); ea = NEXT_EA(ea)) in __jfs_getxattr()
912 if ((namelen == ea->namelen) && in __jfs_getxattr()
913 memcmp(name, ea->name, namelen) == 0) { in __jfs_getxattr()
915 size = le16_to_cpu(ea->valuelen); in __jfs_getxattr()
922 value = ((char *) &ea->name) + ea->namelen + 1; in __jfs_getxattr()
970 static inline int can_list(struct jfs_ea *ea) in can_list() argument
972 return (strncmp(ea->name, XATTR_TRUSTED_PREFIX, in can_list()
984 struct jfs_ea *ea; in jfs_listxattr() local
1001 for (ea = FIRST_EA(ealist); ea < END_EALIST(ealist); ea = NEXT_EA(ea)) { in jfs_listxattr()
1002 if (can_list(ea)) in jfs_listxattr()
1003 size += name_size(ea) + 1; in jfs_listxattr()
1016 for (ea = FIRST_EA(ealist); ea < END_EALIST(ealist); ea = NEXT_EA(ea)) { in jfs_listxattr()
1017 if (can_list(ea)) { in jfs_listxattr()
1018 int namelen = copy_name(buffer, ea); in jfs_listxattr()