提交 68e9ec01 编写于 作者: M Max Reitz 提交者: Kevin Wolf

block: Move guest_block_size into BlockBackend

guest_block_size is a guest device property so it should be moved into
the interface between block layer and guest devices, which is the
BlockBackend.
Signed-off-by: NMax Reitz <mreitz@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Reviewed-by: NAlberto Garcia <berto@igalia.com>
Reviewed-by: NKevin Wolf <kwolf@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 4981bdec
...@@ -857,7 +857,6 @@ static int bdrv_open_common(BlockDriverState *bs, BdrvChild *file, ...@@ -857,7 +857,6 @@ static int bdrv_open_common(BlockDriverState *bs, BdrvChild *file,
goto fail_opts; goto fail_opts;
} }
bs->guest_block_size = 512;
bs->request_alignment = 512; bs->request_alignment = 512;
bs->zero_beyond_eof = true; bs->zero_beyond_eof = true;
open_flags = bdrv_open_flags(bs, flags); open_flags = bdrv_open_flags(bs, flags);
...@@ -2002,7 +2001,6 @@ static void bdrv_move_feature_fields(BlockDriverState *bs_dest, ...@@ -2002,7 +2001,6 @@ static void bdrv_move_feature_fields(BlockDriverState *bs_dest,
/* move some fields that need to stay attached to the device */ /* move some fields that need to stay attached to the device */
/* dev info */ /* dev info */
bs_dest->guest_block_size = bs_src->guest_block_size;
bs_dest->copy_on_read = bs_src->copy_on_read; bs_dest->copy_on_read = bs_src->copy_on_read;
bs_dest->enable_write_cache = bs_src->enable_write_cache; bs_dest->enable_write_cache = bs_src->enable_write_cache;
...@@ -3207,11 +3205,6 @@ void bdrv_lock_medium(BlockDriverState *bs, bool locked) ...@@ -3207,11 +3205,6 @@ void bdrv_lock_medium(BlockDriverState *bs, bool locked)
} }
} }
void bdrv_set_guest_block_size(BlockDriverState *bs, int align)
{
bs->guest_block_size = align;
}
BdrvDirtyBitmap *bdrv_find_dirty_bitmap(BlockDriverState *bs, const char *name) BdrvDirtyBitmap *bdrv_find_dirty_bitmap(BlockDriverState *bs, const char *name)
{ {
BdrvDirtyBitmap *bm; BdrvDirtyBitmap *bm;
......
...@@ -31,6 +31,9 @@ struct BlockBackend { ...@@ -31,6 +31,9 @@ struct BlockBackend {
/* TODO change to DeviceState when all users are qdevified */ /* TODO change to DeviceState when all users are qdevified */
const BlockDevOps *dev_ops; const BlockDevOps *dev_ops;
void *dev_opaque; void *dev_opaque;
/* the block size for which the guest device expects atomicity */
int guest_block_size;
}; };
typedef struct BlockBackendAIOCB { typedef struct BlockBackendAIOCB {
...@@ -351,7 +354,7 @@ void blk_detach_dev(BlockBackend *blk, void *dev) ...@@ -351,7 +354,7 @@ void blk_detach_dev(BlockBackend *blk, void *dev)
blk->dev = NULL; blk->dev = NULL;
blk->dev_ops = NULL; blk->dev_ops = NULL;
blk->dev_opaque = NULL; blk->dev_opaque = NULL;
bdrv_set_guest_block_size(blk->bs, 512); blk->guest_block_size = 512;
blk_unref(blk); blk_unref(blk);
} }
...@@ -806,7 +809,7 @@ int blk_get_max_transfer_length(BlockBackend *blk) ...@@ -806,7 +809,7 @@ int blk_get_max_transfer_length(BlockBackend *blk)
void blk_set_guest_block_size(BlockBackend *blk, int align) void blk_set_guest_block_size(BlockBackend *blk, int align)
{ {
bdrv_set_guest_block_size(blk->bs, align); blk->guest_block_size = align;
} }
void *blk_blockalign(BlockBackend *blk, size_t size) void *blk_blockalign(BlockBackend *blk, size_t size)
......
...@@ -466,7 +466,6 @@ void bdrv_img_create(const char *filename, const char *fmt, ...@@ -466,7 +466,6 @@ void bdrv_img_create(const char *filename, const char *fmt,
size_t bdrv_min_mem_align(BlockDriverState *bs); size_t bdrv_min_mem_align(BlockDriverState *bs);
/* Returns optimal alignment in bytes for bounce buffer */ /* Returns optimal alignment in bytes for bounce buffer */
size_t bdrv_opt_mem_align(BlockDriverState *bs); size_t bdrv_opt_mem_align(BlockDriverState *bs);
void bdrv_set_guest_block_size(BlockDriverState *bs, int align);
void *qemu_blockalign(BlockDriverState *bs, size_t size); void *qemu_blockalign(BlockDriverState *bs, size_t size);
void *qemu_blockalign0(BlockDriverState *bs, size_t size); void *qemu_blockalign0(BlockDriverState *bs, size_t size);
void *qemu_try_blockalign(BlockDriverState *bs, size_t size); void *qemu_try_blockalign(BlockDriverState *bs, size_t size);
......
...@@ -411,9 +411,6 @@ struct BlockDriverState { ...@@ -411,9 +411,6 @@ struct BlockDriverState {
/* Alignment requirement for offset/length of I/O requests */ /* Alignment requirement for offset/length of I/O requests */
unsigned int request_alignment; unsigned int request_alignment;
/* the block size for which the guest device expects atomicity */
int guest_block_size;
/* do we need to tell the quest if we have a volatile write cache? */ /* do we need to tell the quest if we have a volatile write cache? */
int enable_write_cache; int enable_write_cache;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册