Lines Matching refs:bdev_io
72 struct spdk_bdev_io *bdev_io;
75 bdev_io = spdk_bdev_io_from_ctx(null_io);
77 if (bdev_io == bio_to_abort) {
88 bdev_null_submit_request(struct spdk_io_channel *_ch, struct spdk_bdev_io *bdev_io)
90 struct null_bdev_io *null_io = (struct null_bdev_io *)bdev_io->driver_ctx;
92 struct spdk_bdev *bdev = bdev_io->bdev;
99 (SPDK_BDEV_IO_TYPE_READ == bdev_io->type ||
100 SPDK_BDEV_IO_TYPE_WRITE == bdev_io->type)) {
109 bdev_io->u.bdev.dif_check_flags,
110 bdev_io->u.bdev.offset_blocks & 0xFFFFFFFF,
114 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);
119 switch (bdev_io->type) {
121 if (bdev_io->u.bdev.iovs[0].iov_base == NULL) {
122 assert(bdev_io->u.bdev.iovcnt == 1);
123 if (spdk_likely(bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen <=
125 bdev_io->u.bdev.iovs[0].iov_base = g_null_read_buf;
126 bdev_io->u.bdev.iovs[0].iov_len = bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen;
129 bdev_io->u.bdev.num_blocks * bdev_io->bdev->blocklen,
131 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);
136 rc = spdk_dif_generate(bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt,
137 bdev_io->u.bdev.num_blocks, &dif_ctx);
140 bdev_io->u.bdev.offset_blocks,
141 bdev_io->u.bdev.num_blocks);
142 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);
150 rc = spdk_dif_verify(bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt,
151 bdev_io->u.bdev.num_blocks, &dif_ctx, &err_blk);
155 bdev_io->u.bdev.offset_blocks,
156 bdev_io->u.bdev.num_blocks,
161 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);
172 if (bdev_null_abort_io(ch, bdev_io->u.abort.bio_to_abort)) {
173 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_SUCCESS);
175 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);
181 spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);