Lines Matching full:bulk

318  * Operates on bulk array, first failure will abort further processing
321 sa_attr_op(sa_handle_t *hdl, sa_bulk_attr_t *bulk, int count,
333 ASSERT(bulk[i].sa_attr <= hdl->sa_os->os_sa->sa_num_attrs);
335 bulk[i].sa_addr = NULL;
339 hdl->sa_bonus_tab->sa_idx_tab[bulk[i].sa_attr])) {
342 bulk[i].sa_attr, bulk[i], SA_BONUS, hdl);
348 if (bulk[i].sa_addr == NULL &&
351 hdl->sa_spill_tab->sa_idx_tab[bulk[i].sa_attr])) {
354 bulk[i].sa_attr, bulk[i], SA_SPILL, hdl);
356 bulk[i].sa_size == bulk[i].sa_length) {
368 if (bulk[i].sa_addr == NULL)
370 if (bulk[i].sa_data) {
371 SA_COPY_DATA(bulk[i].sa_data_func,
372 bulk[i].sa_addr, bulk[i].sa_data,
373 MIN(bulk[i].sa_size, bulk[i].sa_length));
379 if (bulk[i].sa_addr &&
380 bulk[i].sa_size == bulk[i].sa_length) {
381 SA_COPY_DATA(bulk[i].sa_data_func,
382 bulk[i].sa_data, bulk[i].sa_addr,
383 bulk[i].sa_length);
385 } else if (bulk[i].sa_addr) { /* attr size change */
386 error = sa_modify_attrs(hdl, bulk[i].sa_attr,
387 SA_REPLACE, bulk[i].sa_data_func,
388 bulk[i].sa_data, bulk[i].sa_length, tx);
390 error = sa_modify_attrs(hdl, bulk[i].sa_attr,
391 SA_ADD, bulk[i].sa_data_func,
392 bulk[i].sa_data, bulk[i].sa_length, tx);
1470 sa_lookup_impl(sa_handle_t *hdl, sa_bulk_attr_t *bulk, int count)
1474 return (sa_attr_op(hdl, bulk, count, SA_LOOKUP, NULL));
1482 sa_bulk_attr_t bulk;
1486 bulk.sa_attr = attr;
1487 bulk.sa_data = buf;
1488 bulk.sa_length = buflen;
1489 bulk.sa_data_func = NULL;
1492 error = sa_lookup_impl(hdl, &bulk, 1);
1515 sa_bulk_attr_t bulk;
1518 bulk.sa_data = NULL;
1519 bulk.sa_attr = attr;
1520 bulk.sa_data_func = NULL;
1524 if ((error = sa_attr_op(hdl, &bulk, 1, SA_LOOKUP, NULL)) != 0) {
1527 *size = bulk.sa_size;
1549 sa_bulk_attr_t bulk;
1551 bulk.sa_data = NULL;
1552 bulk.sa_attr = attr;
1553 bulk.sa_data_func = NULL;
1558 if ((error = sa_attr_op(hdl, &bulk, 1, SA_LOOKUP, NULL)) == 0) {
1559 error = zfs_uiomove((void *)bulk.sa_addr, MIN(bulk.sa_size,
1579 sa_bulk_attr_t *bulk, *attrs;
1598 bulk = kmem_zalloc(sizeof (sa_bulk_attr_t) * ZPL_END, KM_SLEEP);
1611 /* First do a bulk query of the attributes that aren't cached */
1613 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MODE(zfsvfs), NULL,
1615 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GEN(zfsvfs), NULL,
1617 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_UID(zfsvfs), NULL,
1619 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GID(zfsvfs), NULL,
1621 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_PARENT(zfsvfs), NULL,
1623 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_ATIME(zfsvfs), NULL,
1625 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL,
1627 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL,
1629 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CRTIME(zfsvfs), NULL,
1632 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_RDEV(zfsvfs), NULL,
1635 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_ATIME(zfsvfs), NULL,
1637 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL,
1639 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL,
1641 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CRTIME(zfsvfs), NULL,
1643 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GEN(zfsvfs), NULL,
1645 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MODE(zfsvfs), NULL,
1647 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_PARENT(zfsvfs), NULL,
1649 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_XATTR(zfsvfs), NULL,
1651 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_RDEV(zfsvfs), NULL,
1653 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_UID(zfsvfs), NULL,
1655 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GID(zfsvfs), NULL,
1657 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_ZNODE_ACL(zfsvfs), NULL,
1660 err = sa_bulk_lookup_locked(hdl, bulk, count);
1748 kmem_free(bulk, sizeof (sa_bulk_attr_t) * ZPL_END);
1873 * This interface is intended to only be used for bulk adding of
2054 sa_bulk_update_impl(sa_handle_t *hdl, sa_bulk_attr_t *bulk, int count,
2072 error = sa_attr_op(hdl, bulk, count, SA_UPDATE, tx);
2105 sa_bulk_attr_t bulk;
2109 bulk.sa_attr = type;
2110 bulk.sa_data_func = NULL;
2111 bulk.sa_length = buflen;
2112 bulk.sa_data = buf;
2115 error = sa_bulk_update_impl(hdl, &bulk, 1, tx);