diff options
| author | Max Reitz <mreitz@redhat.com> | 2019-06-12 18:14:13 +0200 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2020-09-07 12:31:31 +0200 |
| commit | 081e465026769a24b86ba2e6a77709cfea33f16a (patch) | |
| tree | 7fcf59220af674ee450618289de6cb8e609061d9 /hw/timer/lm32_timer.c | |
| parent | f706a92f249b573c624fa5a8067fa1c6636a6ae0 (diff) | |
| download | focaccia-qemu-081e465026769a24b86ba2e6a77709cfea33f16a.tar.gz focaccia-qemu-081e465026769a24b86ba2e6a77709cfea33f16a.zip | |
block: Improve get_allocated_file_size's default
There are two practical problems with bdrv_get_allocated_file_size()'s
default right now:
(1) For drivers with children, we should generally sum all their sizes
instead of just passing the request through to bs->file. The latter
is good for filters, but not so much for format drivers.
(2) Filters need not have bs->file, so we should actually go to the
filtered child instead of hard-coding bs->file.
Fix this by splitting the default implementation into three branches:
(1) For filter drivers: Return the size of the filtered child
(2) For protocol drivers: Return -ENOTSUP, because the default
implementation cannot make a guess
(3) For other drivers: Sum all data-bearing children's sizes
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'hw/timer/lm32_timer.c')
0 files changed, 0 insertions, 0 deletions