Lines Matching defs:acb

5396 	arc_callback_t	*acb;
5478 for (acb = callback_list; acb != NULL; acb = acb->acb_next) {
5481 callback_list = acb;
5483 if (!acb->acb_done || acb->acb_nobuf)
5492 &acb->acb_zb, acb->acb_private, acb->acb_encrypted,
5493 acb->acb_compressed, acb->acb_noauth, B_TRUE,
5494 &acb->acb_buf);
5511 spa_log_error(zio->io_spa, &acb->acb_zb,
5515 zio->io_spa, NULL, &acb->acb_zb, zio, 0);
5564 while ((acb = callback_list) != NULL) {
5565 if (acb->acb_done != NULL) {
5566 if (zio->io_error != 0 && acb->acb_buf != NULL) {
5572 arc_buf_destroy(acb->acb_buf,
5573 acb->acb_private);
5574 acb->acb_buf = NULL;
5576 acb->acb_done(zio, &zio->io_bookmark, zio->io_bp,
5577 acb->acb_buf, acb->acb_private);
5580 if (acb->acb_zio_dummy != NULL) {
5581 acb->acb_zio_dummy->io_error = zio->io_error;
5582 zio_nowait(acb->acb_zio_dummy);
5585 callback_list = acb->acb_prev;
5586 if (acb->acb_wait) {
5587 mutex_enter(&acb->acb_wait_lock);
5588 acb->acb_wait_error = zio->io_error;
5589 acb->acb_wait = B_FALSE;
5590 cv_signal(&acb->acb_wait_cv);
5591 mutex_exit(&acb->acb_wait_lock);
5592 /* acb will be freed by the waiting thread. */
5594 kmem_free(acb, sizeof (arc_callback_t));
5777 arc_callback_t *acb = NULL;
5779 acb = kmem_zalloc(sizeof (arc_callback_t),
5781 acb->acb_done = done;
5782 acb->acb_private = private;
5783 acb->acb_compressed = compressed_read;
5784 acb->acb_encrypted = encrypted_read;
5785 acb->acb_noauth = noauth_read;
5786 acb->acb_nobuf = no_buf;
5788 acb->acb_wait = B_TRUE;
5789 mutex_init(&acb->acb_wait_lock, NULL,
5791 cv_init(&acb->acb_wait_cv, NULL,
5794 acb->acb_zb = *zb;
5796 acb->acb_zio_dummy = zio_null(pio,
5799 acb->acb_zio_head = head_zio;
5800 acb->acb_next = hdr->b_l1hdr.b_acb;
5801 hdr->b_l1hdr.b_acb->acb_prev = acb;
5802 hdr->b_l1hdr.b_acb = acb;
5811 mutex_enter(&acb->acb_wait_lock);
5812 while (acb->acb_wait) {
5813 cv_wait(&acb->acb_wait_cv,
5814 &acb->acb_wait_lock);
5816 rc = acb->acb_wait_error;
5817 mutex_exit(&acb->acb_wait_lock);
5818 mutex_destroy(&acb->acb_wait_lock);
5819 cv_destroy(&acb->acb_wait_cv);
5820 kmem_free(acb, sizeof (arc_callback_t));
5872 arc_callback_t *acb;
5955 arc_callback_t *acb = kmem_zalloc(
5957 acb->acb_wait = B_TRUE;
5958 mutex_init(&acb->acb_wait_lock, NULL,
5960 cv_init(&acb->acb_wait_cv, NULL, CV_DEFAULT,
5962 acb->acb_zio_head =
5964 acb->acb_next = hdr->b_l1hdr.b_acb;
5965 hdr->b_l1hdr.b_acb->acb_prev = acb;
5966 hdr->b_l1hdr.b_acb = acb;
5968 mutex_enter(&acb->acb_wait_lock);
5969 while (acb->acb_wait) {
5970 cv_wait(&acb->acb_wait_cv,
5971 &acb->acb_wait_lock);
5973 mutex_exit(&acb->acb_wait_lock);
5974 mutex_destroy(&acb->acb_wait_lock);
5975 cv_destroy(&acb->acb_wait_cv);
5976 kmem_free(acb, sizeof (arc_callback_t));
6028 acb = kmem_zalloc(sizeof (arc_callback_t), KM_SLEEP);
6029 acb->acb_done = done;
6030 acb->acb_private = private;
6031 acb->acb_compressed = compressed_read;
6032 acb->acb_encrypted = encrypted_read;
6033 acb->acb_noauth = noauth_read;
6034 acb->acb_zb = *zb;
6037 hdr->b_l1hdr.b_acb = acb;
6153 acb->acb_zio_head = rzio;
6209 acb->acb_zio_head = rzio;
8826 for (struct arc_callback *acb = hdr->b_l1hdr.b_acb;
8827 acb != NULL; acb = acb->acb_next)
8828 acb->acb_zio_head = zio;