Lines Matching refs:attribute
751 struct ulfs_extattr_list_entry *attribute; in ulfs_extattr_enable() local
761 attribute = kmem_zalloc(sizeof(*attribute), KM_SLEEP); in ulfs_extattr_enable()
773 strncpy(attribute->uele_attrname, attrname, in ulfs_extattr_enable()
775 attribute->uele_attrnamespace = attrnamespace; in ulfs_extattr_enable()
776 memset(&attribute->uele_fileheader, 0, in ulfs_extattr_enable()
779 attribute->uele_backing_vnode = backing_vnode; in ulfs_extattr_enable()
783 aiov.iov_base = (void *) &attribute->uele_fileheader; in ulfs_extattr_enable()
806 if (attribute->uele_fileheader.uef_magic != ULFS_EXTATTR_MAGIC) { in ulfs_extattr_enable()
807 attribute->uele_flags |= UELE_F_NEEDSWAP; in ulfs_extattr_enable()
808 attribute->uele_fileheader.uef_magic = in ulfs_extattr_enable()
809 ulfs_rw32(attribute->uele_fileheader.uef_magic, in ulfs_extattr_enable()
810 UELE_NEEDSWAP(attribute)); in ulfs_extattr_enable()
811 if (attribute->uele_fileheader.uef_magic != ULFS_EXTATTR_MAGIC) { in ulfs_extattr_enable()
818 attribute->uele_fileheader.uef_version = in ulfs_extattr_enable()
819 ulfs_rw32(attribute->uele_fileheader.uef_version, in ulfs_extattr_enable()
820 UELE_NEEDSWAP(attribute)); in ulfs_extattr_enable()
821 attribute->uele_fileheader.uef_size = in ulfs_extattr_enable()
822 ulfs_rw32(attribute->uele_fileheader.uef_size, in ulfs_extattr_enable()
823 UELE_NEEDSWAP(attribute)); in ulfs_extattr_enable()
825 if (attribute->uele_fileheader.uef_version != ULFS_EXTATTR_VERSION) { in ulfs_extattr_enable()
832 LIST_INSERT_HEAD(&ump->um_extattr.uepm_list, attribute, in ulfs_extattr_enable()
842 kmem_free(attribute, sizeof(*attribute)); in ulfs_extattr_enable()
1077 struct ulfs_extattr_list_entry *attribute; in ulfs_extattr_get() local
1092 attribute = ulfs_extattr_find_attr(ump, attrnamespace, name); in ulfs_extattr_get()
1093 if (!attribute) in ulfs_extattr_get()
1108 if (attribute->uele_backing_vnode != vp) in ulfs_extattr_get()
1109 vn_lock(attribute->uele_backing_vnode, LK_SHARED | LK_RETRY); in ulfs_extattr_get()
1111 error = ulfs_extattr_get_header(vp, attribute, &ueh, &base_offset); in ulfs_extattr_get()
1133 error = VOP_READ(attribute->uele_backing_vnode, uio, in ulfs_extattr_get()
1146 if (attribute->uele_backing_vnode != vp) in ulfs_extattr_get()
1147 VOP_UNLOCK(attribute->uele_backing_vnode); in ulfs_extattr_get()
1360 struct ulfs_extattr_list_entry *attribute; in ulfs_extattr_set() local
1380 attribute = ulfs_extattr_find_attr(ump, attrnamespace, name); in ulfs_extattr_set()
1381 if (!attribute) { in ulfs_extattr_set()
1383 name, l, &attribute); in ulfs_extattr_set()
1387 attribute = in ulfs_extattr_set()
1391 if (error || !attribute) in ulfs_extattr_set()
1401 uio->uio_resid > attribute->uele_fileheader.uef_size) in ulfs_extattr_set()
1410 attribute->uele_fileheader.uef_size); in ulfs_extattr_set()
1416 UELE_NEEDSWAP(attribute)); in ulfs_extattr_set()
1418 UELE_NEEDSWAP(attribute)); in ulfs_extattr_set()
1419 ueh.ueh_i_gen = ulfs_rw32(ip->i_gen, UELE_NEEDSWAP(attribute)); in ulfs_extattr_set()
1433 if (attribute->uele_backing_vnode != vp) in ulfs_extattr_set()
1434 vn_lock(attribute->uele_backing_vnode, in ulfs_extattr_set()
1440 error = VOP_WRITE(attribute->uele_backing_vnode, &local_aio, ioflag, in ulfs_extattr_set()
1459 error = VOP_WRITE(attribute->uele_backing_vnode, uio, ioflag, in ulfs_extattr_set()
1465 if (attribute->uele_backing_vnode != vp) in ulfs_extattr_set()
1466 VOP_UNLOCK(attribute->uele_backing_vnode); in ulfs_extattr_set()
1479 struct ulfs_extattr_list_entry *attribute; in ulfs_extattr_rm() local
1498 attribute = ulfs_extattr_find_attr(ump, attrnamespace, name); in ulfs_extattr_rm()
1499 if (!attribute) in ulfs_extattr_rm()
1506 if (attribute->uele_backing_vnode != vp) in ulfs_extattr_rm()
1507 vn_lock(attribute->uele_backing_vnode, LK_EXCLUSIVE | LK_RETRY); in ulfs_extattr_rm()
1509 error = ulfs_extattr_get_header(vp, attribute, &ueh, &base_offset); in ulfs_extattr_rm()
1529 error = VOP_WRITE(attribute->uele_backing_vnode, &local_aio, ioflag, in ulfs_extattr_rm()
1538 VOP_UNLOCK(attribute->uele_backing_vnode); in ulfs_extattr_rm()