Lines Matching defs:dev

1356 uint64_t l2arc_headroom = L2ARC_HEADROOM;	/* number of dev writes */
1369 &l2arc_headroom, 0, "number of dev writes");
1509 l2arc_dev_t *dev = hdr->b_l2hdr.b_dev;
1512 ASSERT(MUTEX_HELD(&dev->l2ad_mtx));
1515 trim_map_free(dev->l2ad_vdev, hdr->b_l2hdr.b_daddr,
3307 l2arc_dev_t *dev = hdr->b_l2hdr.b_dev;
3370 mutex_enter(&dev->l2ad_mtx);
3378 list_insert_after(&dev->l2ad_buflist, hdr, nhdr);
3379 list_remove(&dev->l2ad_buflist, hdr);
3381 mutex_exit(&dev->l2ad_mtx);
3391 (void) refcount_remove_many(&dev->l2ad_alloc, arc_hdr_size(hdr), hdr);
3392 (void) refcount_add_many(&dev->l2ad_alloc, arc_hdr_size(nhdr), nhdr);
3459 l2arc_dev_t *dev = l2hdr->b_dev;
3462 ASSERT(MUTEX_HELD(&dev->l2ad_mtx));
3465 list_remove(&dev->l2ad_buflist, hdr);
3470 vdev_space_update(dev->l2ad_vdev, -psize, 0, 0);
3472 (void) refcount_remove_many(&dev->l2ad_alloc, psize, hdr);
3492 l2arc_dev_t *dev = hdr->b_l2hdr.b_dev;
3493 boolean_t buflist_held = MUTEX_HELD(&dev->l2ad_mtx);
3496 mutex_enter(&dev->l2ad_mtx);
3513 mutex_exit(&dev->l2ad_mtx);
7068 * L2ARC dev |####|#|###|###| |####| ... |
7302 l2arc_dev_t *dev;
7310 dev = cb->l2wcb_dev;
7311 ASSERT3P(dev, !=, NULL);
7314 buflist = &dev->l2ad_buflist;
7326 mutex_enter(&dev->l2ad_mtx);
7353 mutex_exit(&dev->l2ad_mtx);
7385 (void) refcount_remove_many(&dev->l2ad_alloc,
7402 mutex_exit(&dev->l2ad_mtx);
7404 vdev_space_update(dev->l2ad_vdev, -bytes_dropped, 0, 0);
7567 l2arc_evict(l2arc_dev_t *dev, uint64_t distance, boolean_t all)
7574 buflist = &dev->l2ad_buflist;
7576 if (!all && dev->l2ad_first) {
7584 if (dev->l2ad_hand >= (dev->l2ad_end - (2 * distance))) {
7589 taddr = dev->l2ad_end;
7591 taddr = dev->l2ad_hand + distance;
7593 DTRACE_PROBE4(l2arc__evict, l2arc_dev_t *, dev, list_t *, buflist,
7597 mutex_enter(&dev->l2ad_mtx);
7613 mutex_exit(&dev->l2ad_mtx);
7629 hdr->b_l2hdr.b_daddr < dev->l2ad_hand)) {
7664 mutex_exit(&dev->l2ad_mtx);
7679 l2arc_write_buffers(spa_t *spa, l2arc_dev_t *dev, uint64_t target_sz)
7689 ASSERT3P(dev->l2ad_vdev, !=, NULL);
7770 uint64_t asize = vdev_psize_to_asize(dev->l2ad_vdev,
7786 mutex_enter(&dev->l2ad_mtx);
7787 list_insert_head(&dev->l2ad_buflist, head);
7788 mutex_exit(&dev->l2ad_mtx);
7792 cb->l2wcb_dev = dev;
7799 hdr->b_l2hdr.b_dev = dev;
7800 hdr->b_l2hdr.b_daddr = dev->l2ad_hand;
7804 mutex_enter(&dev->l2ad_mtx);
7805 list_insert_head(&dev->l2ad_buflist, hdr);
7806 mutex_exit(&dev->l2ad_mtx);
7808 (void) refcount_add_many(&dev->l2ad_alloc, psize, hdr);
7838 wzio = zio_write_phys(pio, dev->l2ad_vdev,
7845 DTRACE_PROBE2(l2arc__write, vdev_t *, dev->l2ad_vdev,
7850 dev->l2ad_hand += asize;
7876 vdev_space_update(dev->l2ad_vdev, write_psize, 0, 0);
7882 if (dev->l2ad_hand >= (dev->l2ad_end - target_sz)) {
7883 dev->l2ad_hand = dev->l2ad_start;
7884 dev->l2ad_first = B_FALSE;
7887 dev->l2ad_writing = B_TRUE;
7889 dev->l2ad_writing = B_FALSE;
7903 l2arc_dev_t *dev;
7932 * doing so the next spa to feed from: dev->l2ad_spa. This
7940 if ((dev = l2arc_dev_get_next()) == NULL)
7943 spa = dev->l2ad_spa;
7952 spa_config_exit(spa, SCL_L2ARC, dev);
7961 spa_config_exit(spa, SCL_L2ARC, dev);
7972 l2arc_evict(dev, size, B_FALSE);
7977 wrote = l2arc_write_buffers(spa, dev, size);
7983 spa_config_exit(spa, SCL_L2ARC, dev);
7995 l2arc_dev_t *dev;
7998 for (dev = list_head(l2arc_dev_list); dev != NULL;
7999 dev = list_next(l2arc_dev_list, dev)) {
8000 if (dev->l2ad_vdev == vd)
8005 return (dev != NULL);
8059 l2arc_dev_t *dev, *nextdev, *remdev = NULL;
8065 for (dev = list_head(l2arc_dev_list); dev; dev = nextdev) {
8066 nextdev = list_next(l2arc_dev_list, dev);
8067 if (vd == dev->l2ad_vdev) {
8068 remdev = dev;