Lines Matching refs:bdev

91   void (*callback)(void *, struct bdev *, ssize_t);
131 static ssize_t virtio_bdev_read_block(struct bdev *bdev, void *buf, bnum_t block, uint count);
133 struct bdev *bdev, void *buf, off_t offset, size_t len,
134 void (*callback)(void *, struct bdev *, ssize_t), void *cookie);
135 static ssize_t virtio_bdev_write_block(struct bdev *bdev, const void *buf, bnum_t block, uint count…
141 bdev_t bdev; member
172 struct virtio_block_dev *bdev = malloc(sizeof(struct virtio_block_dev)); in virtio_block_init() local
173 if (!bdev) in virtio_block_init()
176 bdev->dev = dev; in virtio_block_init()
177 dev->priv = bdev; in virtio_block_init()
193 bdev->guest_features = host_features; in virtio_block_init()
196 bdev->guest_features &= (VIRTIO_BLK_F_SIZE_MAX | in virtio_block_init()
202 virtio_set_guest_features(dev, 0, bdev->guest_features); in virtio_block_init()
212bdev->txns = memalign(sizeof(struct virtio_block_txn), VIRTIO_BLK_RING_LEN * sizeof(struct virtio_… in virtio_block_init()
224 bio_initialize_bdev(&bdev->bdev, buf, in virtio_block_init()
229 bdev->bdev.read_block = &virtio_bdev_read_block; in virtio_block_init()
230 bdev->bdev.write_block = &virtio_bdev_write_block; in virtio_block_init()
231 bdev->bdev.read_async = &virtio_bdev_read_async; in virtio_block_init()
233 bio_register_device(&bdev->bdev); in virtio_block_init()
239 dump_feature_bits("guest", bdev->guest_features); in virtio_block_init()
265 struct virtio_block_dev *bdev = (struct virtio_block_dev *)dev->priv; in virtio_block_irq_driver_callback() local
268 struct virtio_block_txn *txn = &bdev->txns[e->id]; in virtio_block_irq_driver_callback()
299 txn->callback(txn->cookie, &bdev->bdev, result); in virtio_block_irq_driver_callback()
309 struct virtio_block_dev *bdev = (struct virtio_block_dev *)dev->priv; in virtio_block_do_txn() local
321 struct virtio_block_txn *txn = &bdev->txns[i]; in virtio_block_do_txn()
431 static void sync_completion_cb(void *cookie, struct bdev *dev, ssize_t bytes) { in sync_completion_cb()
460 static ssize_t virtio_bdev_read_block(struct bdev *bdev, void *buf, bnum_t block, uint count) { in virtio_bdev_read_block() argument
461 struct virtio_block_dev *dev = containerof(bdev, struct virtio_block_dev, bdev); in virtio_bdev_read_block()
463 LTRACEF("dev %p, buf %p, block 0x%x, count %u\n", bdev, buf, block, count); in virtio_bdev_read_block()
465 ssize_t result = virtio_block_read_write(dev->dev, buf, (off_t)block * dev->bdev.block_size, in virtio_bdev_read_block()
466 count * dev->bdev.block_size, false); in virtio_bdev_read_block()
470 static status_t virtio_bdev_read_async(struct bdev *bdev, void *buf, in virtio_bdev_read_async() argument
475 containerof(bdev, struct virtio_block_dev, bdev); in virtio_bdev_read_async()
481 static ssize_t virtio_bdev_write_block(struct bdev *bdev, const void *buf, bnum_t block, uint count… in virtio_bdev_write_block() argument
482 struct virtio_block_dev *dev = containerof(bdev, struct virtio_block_dev, bdev); in virtio_bdev_write_block()
484 LTRACEF("dev %p, buf %p, block 0x%x, count %u\n", bdev, buf, block, count); in virtio_bdev_write_block()
486 …ssize_t result = virtio_block_read_write(dev->dev, (void *)buf, (off_t)block * dev->bdev.block_siz… in virtio_bdev_write_block()
487 count * dev->bdev.block_size, true); in virtio_bdev_write_block()