Lines Matching refs:bs

99 raw_apply_options(BlockDriverState *bs, BDRVRawState *s, uint64_t offset,  in raw_apply_options()  argument
104 real_size = bdrv_getlength(bs->file->bs); in raw_apply_options()
152 assert(reopen_state->bs != NULL); in raw_reopen_prepare()
162 ret = raw_apply_options(reopen_state->bs, reopen_state->opaque, in raw_reopen_prepare()
174 BDRVRawState *s = state->bs->opaque; in raw_reopen_commit()
189 static inline int raw_adjust_offset(BlockDriverState *bs, int64_t *offset, in raw_adjust_offset() argument
192 BDRVRawState *s = bs->opaque; in raw_adjust_offset()
210 raw_co_preadv(BlockDriverState *bs, int64_t offset, int64_t bytes, in raw_co_preadv() argument
215 ret = raw_adjust_offset(bs, &offset, bytes, false); in raw_co_preadv()
220 BLKDBG_CO_EVENT(bs->file, BLKDBG_READ_AIO); in raw_co_preadv()
221 return bdrv_co_preadv(bs->file, offset, bytes, qiov, flags); in raw_co_preadv()
225 raw_co_pwritev(BlockDriverState *bs, int64_t offset, int64_t bytes, in raw_co_pwritev() argument
233 if (bs->probed && offset < BLOCK_PROBE_BUF_SIZE && bytes) { in raw_co_pwritev()
241 buf = qemu_try_blockalign(bs->file->bs, 512); in raw_co_pwritev()
254 if (drv != bs->drv) { in raw_co_pwritev()
269 ret = raw_adjust_offset(bs, &offset, bytes, true); in raw_co_pwritev()
274 BLKDBG_CO_EVENT(bs->file, BLKDBG_WRITE_AIO); in raw_co_pwritev()
275 ret = bdrv_co_pwritev(bs->file, offset, bytes, qiov, flags); in raw_co_pwritev()
286 raw_co_block_status(BlockDriverState *bs, bool want_zero, int64_t offset, in raw_co_block_status() argument
290 BDRVRawState *s = bs->opaque; in raw_co_block_status()
292 *file = bs->file->bs; in raw_co_block_status()
298 raw_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, int64_t bytes, in raw_co_pwrite_zeroes() argument
303 ret = raw_adjust_offset(bs, &offset, bytes, true); in raw_co_pwrite_zeroes()
307 return bdrv_co_pwrite_zeroes(bs->file, offset, bytes, flags); in raw_co_pwrite_zeroes()
311 raw_co_pdiscard(BlockDriverState *bs, int64_t offset, int64_t bytes) in raw_co_pdiscard() argument
315 ret = raw_adjust_offset(bs, &offset, bytes, true); in raw_co_pdiscard()
319 return bdrv_co_pdiscard(bs->file, offset, bytes); in raw_co_pdiscard()
323 raw_co_zone_report(BlockDriverState *bs, int64_t offset, in raw_co_zone_report() argument
327 return bdrv_co_zone_report(bs->file->bs, offset, nr_zones, zones); in raw_co_zone_report()
331 raw_co_zone_mgmt(BlockDriverState *bs, BlockZoneOp op, in raw_co_zone_mgmt() argument
334 return bdrv_co_zone_mgmt(bs->file->bs, op, offset, len); in raw_co_zone_mgmt()
338 raw_co_zone_append(BlockDriverState *bs,int64_t *offset, QEMUIOVector *qiov, in raw_co_zone_append() argument
341 return bdrv_co_zone_append(bs->file->bs, offset, qiov, flags); in raw_co_zone_append()
345 raw_co_getlength(BlockDriverState *bs) in raw_co_getlength() argument
348 BDRVRawState *s = bs->opaque; in raw_co_getlength()
352 len = bdrv_co_getlength(bs->file->bs); in raw_co_getlength()
397 raw_co_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) in raw_co_get_info() argument
399 return bdrv_co_get_info(bs->file->bs, bdi); in raw_co_get_info()
402 static void GRAPH_RDLOCK raw_refresh_limits(BlockDriverState *bs, Error **errp) in raw_refresh_limits() argument
404 bs->bl.has_variable_length = bs->file->bs->bl.has_variable_length; in raw_refresh_limits()
406 if (bs->probed) { in raw_refresh_limits()
410 bs->bl.request_alignment = BDRV_SECTOR_SIZE; in raw_refresh_limits()
415 raw_co_truncate(BlockDriverState *bs, int64_t offset, bool exact, in raw_co_truncate() argument
418 BDRVRawState *s = bs->opaque; in raw_co_truncate()
432 return bdrv_co_truncate(bs->file, offset, exact, prealloc, flags, errp); in raw_co_truncate()
436 raw_co_eject(BlockDriverState *bs, bool eject_flag) in raw_co_eject() argument
438 bdrv_co_eject(bs->file->bs, eject_flag); in raw_co_eject()
442 raw_co_lock_medium(BlockDriverState *bs, bool locked) in raw_co_lock_medium() argument
444 bdrv_co_lock_medium(bs->file->bs, locked); in raw_co_lock_medium()
448 raw_co_ioctl(BlockDriverState *bs, unsigned long int req, void *buf) in raw_co_ioctl() argument
450 BDRVRawState *s = bs->opaque; in raw_co_ioctl()
454 return bdrv_co_ioctl(bs->file->bs, req, buf); in raw_co_ioctl()
457 static int GRAPH_RDLOCK raw_has_zero_init(BlockDriverState *bs) in raw_has_zero_init() argument
459 return bdrv_has_zero_init(bs->file->bs); in raw_has_zero_init()
469 static int raw_open(BlockDriverState *bs, QDict *options, int flags, in raw_open() argument
472 BDRVRawState *s = bs->opaque; in raw_open()
495 bdrv_open_child(NULL, options, "file", bs, &child_of_bds, in raw_open()
499 if (!bs->file) { in raw_open()
503 bs->sg = bdrv_is_sg(bs->file->bs); in raw_open()
504 bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED | in raw_open()
505 (BDRV_REQ_FUA & bs->file->bs->supported_write_flags); in raw_open()
506 bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED | in raw_open()
508 bs->file->bs->supported_zero_flags); in raw_open()
509 bs->supported_truncate_flags = bs->file->bs->supported_truncate_flags & in raw_open()
512 if (bs->probed && !bdrv_is_read_only(bs)) { in raw_open()
513 bdrv_refresh_filename(bs->file->bs); in raw_open()
521 bs->file->bs->filename); in raw_open()
524 ret = raw_apply_options(bs, s, offset, has_size, size, errp); in raw_open()
529 if (bdrv_is_sg(bs) && (s->offset || s->has_size)) { in raw_open()
546 raw_probe_blocksizes(BlockDriverState *bs, BlockSizes *bsz) in raw_probe_blocksizes() argument
548 BDRVRawState *s = bs->opaque; in raw_probe_blocksizes()
551 ret = bdrv_probe_blocksizes(bs->file->bs, bsz); in raw_probe_blocksizes()
564 raw_probe_geometry(BlockDriverState *bs, HDGeometry *geo) in raw_probe_geometry() argument
566 BDRVRawState *s = bs->opaque; in raw_probe_geometry()
570 return bdrv_probe_geometry(bs->file->bs, geo); in raw_probe_geometry()
574 raw_co_copy_range_from(BlockDriverState *bs, in raw_co_copy_range_from() argument
582 ret = raw_adjust_offset(bs, &src_offset, bytes, false); in raw_co_copy_range_from()
586 return bdrv_co_copy_range_from(bs->file, src_offset, dst, dst_offset, in raw_co_copy_range_from()
591 raw_co_copy_range_to(BlockDriverState *bs, in raw_co_copy_range_to() argument
599 ret = raw_adjust_offset(bs, &dst_offset, bytes, true); in raw_co_copy_range_to()
603 return bdrv_co_copy_range_to(src, src_offset, bs->file, dst_offset, bytes, in raw_co_copy_range_to()
614 static void GRAPH_RDLOCK raw_cancel_in_flight(BlockDriverState *bs) in raw_cancel_in_flight() argument
616 bdrv_cancel_in_flight(bs->file->bs); in raw_cancel_in_flight()
619 static void raw_child_perm(BlockDriverState *bs, BdrvChild *c, in raw_child_perm() argument
625 bdrv_default_perms(bs, c, role, reopen_queue, parent_perm, in raw_child_perm()