Print this page
arc_get_data_buf should be more aggressive in eviction when memory is unavailable


 494 extern zio_t *zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg,
 495     const blkptr_t *bp, enum zio_flag flags);
 496 
 497 extern int zio_alloc_zil(spa_t *spa, uint64_t txg, blkptr_t *new_bp,
 498     blkptr_t *old_bp, uint64_t size, boolean_t use_slog);
 499 extern void zio_free_zil(spa_t *spa, uint64_t txg, blkptr_t *bp);
 500 extern void zio_flush(zio_t *zio, vdev_t *vd);
 501 extern void zio_shrink(zio_t *zio, uint64_t size);
 502 
 503 extern int zio_wait(zio_t *zio);
 504 extern void zio_nowait(zio_t *zio);
 505 extern void zio_execute(zio_t *zio);
 506 extern void zio_interrupt(zio_t *zio);
 507 
 508 extern zio_t *zio_walk_parents(zio_t *cio);
 509 extern zio_t *zio_walk_children(zio_t *pio);
 510 extern zio_t *zio_unique_parent(zio_t *cio);
 511 extern void zio_add_child(zio_t *pio, zio_t *cio);
 512 
 513 extern void *zio_buf_alloc(size_t size);

 514 extern void zio_buf_free(void *buf, size_t size);
 515 extern void *zio_data_buf_alloc(size_t size);

 516 extern void zio_data_buf_free(void *buf, size_t size);
 517 
 518 extern void zio_resubmit_stage_async(void *);
 519 
 520 extern zio_t *zio_vdev_child_io(zio_t *zio, blkptr_t *bp, vdev_t *vd,
 521     uint64_t offset, void *data, uint64_t size, int type,
 522     zio_priority_t priority, enum zio_flag flags,
 523     zio_done_func_t *done, void *private);
 524 
 525 extern zio_t *zio_vdev_delegated_io(vdev_t *vd, uint64_t offset,
 526     void *data, uint64_t size, int type, zio_priority_t priority,
 527     enum zio_flag flags, zio_done_func_t *done, void *private);
 528 
 529 extern void zio_vdev_io_bypass(zio_t *zio);
 530 extern void zio_vdev_io_reissue(zio_t *zio);
 531 extern void zio_vdev_io_redone(zio_t *zio);
 532 
 533 extern void zio_checksum_verified(zio_t *zio);
 534 extern int zio_worst_error(int e1, int e2);
 535 




 494 extern zio_t *zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg,
 495     const blkptr_t *bp, enum zio_flag flags);
 496 
 497 extern int zio_alloc_zil(spa_t *spa, uint64_t txg, blkptr_t *new_bp,
 498     blkptr_t *old_bp, uint64_t size, boolean_t use_slog);
 499 extern void zio_free_zil(spa_t *spa, uint64_t txg, blkptr_t *bp);
 500 extern void zio_flush(zio_t *zio, vdev_t *vd);
 501 extern void zio_shrink(zio_t *zio, uint64_t size);
 502 
 503 extern int zio_wait(zio_t *zio);
 504 extern void zio_nowait(zio_t *zio);
 505 extern void zio_execute(zio_t *zio);
 506 extern void zio_interrupt(zio_t *zio);
 507 
 508 extern zio_t *zio_walk_parents(zio_t *cio);
 509 extern zio_t *zio_walk_children(zio_t *pio);
 510 extern zio_t *zio_unique_parent(zio_t *cio);
 511 extern void zio_add_child(zio_t *pio, zio_t *cio);
 512 
 513 extern void *zio_buf_alloc(size_t size);
 514 extern void *zio_buf_alloc_canfail(size_t size);
 515 extern void zio_buf_free(void *buf, size_t size);
 516 extern void *zio_data_buf_alloc(size_t size);
 517 extern void *zio_data_buf_alloc_canfail(size_t size);
 518 extern void zio_data_buf_free(void *buf, size_t size);
 519 
 520 extern void zio_resubmit_stage_async(void *);
 521 
 522 extern zio_t *zio_vdev_child_io(zio_t *zio, blkptr_t *bp, vdev_t *vd,
 523     uint64_t offset, void *data, uint64_t size, int type,
 524     zio_priority_t priority, enum zio_flag flags,
 525     zio_done_func_t *done, void *private);
 526 
 527 extern zio_t *zio_vdev_delegated_io(vdev_t *vd, uint64_t offset,
 528     void *data, uint64_t size, int type, zio_priority_t priority,
 529     enum zio_flag flags, zio_done_func_t *done, void *private);
 530 
 531 extern void zio_vdev_io_bypass(zio_t *zio);
 532 extern void zio_vdev_io_reissue(zio_t *zio);
 533 extern void zio_vdev_io_redone(zio_t *zio);
 534 
 535 extern void zio_checksum_verified(zio_t *zio);
 536 extern int zio_worst_error(int e1, int e2);
 537