Le 16/05/2017 à 16:39, Kevin Wolf a écrit :
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
Specification: "FAT: General overview of on-disk format" v1.03, page 11
Signed-off-by: Hervé Poussineau
---
block/vvfat.c | 10 +-
1 file changed, 5
Le 16/05/2017 à 16:16, Kevin Wolf a écrit :
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
- offset_to_bootsector is the number of sectors up to FAT bootsector
- offset_to_fat is the number of sectors up to first File Allocation Table
- offset_to_root_dir is the number of sectors up
Le 16/05/2017 à 15:21, Kevin Wolf a écrit :
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
@@ -806,7 +806,7 @@ static int read_directory(BDRVVVFATState* s, int
mapping_index)
(ROOT_ENTRIES - cur) * sizeof(direntry_t));
}
- /* reget the mapping, since
> Awesome, this looks great!
>
> Acked-by: Keith Busch
Thanks Keith!
I still seem to be having issues getting my patches onto the qemu-* mailing
lists. Does anyone have any idea how I go about rectifying that?
Stephen
On Fri, 05/05 18:21, Fam Zheng wrote:
> This is the case in our docker tests, as we use --net=none there. Skip
> this method.
Ping. Is this patch okay?
>
> Signed-off-by: Fam Zheng
> ---
> tests/qemu-iotests/147 | 7 +++
> 1 file changed, 7 insertions(+)
>
> diff --git
Now that all callers are using byte-based interfaces, there's no
reason for our internal hbitmap to remain with sector-based
granularity. It also simplifies our internal scaling, since we
already know that hbitmap widens requests out to granularity
boundaries.
Signed-off-by: Eric Blake
Some of the callers were already scaling bytes to sectors; others
can be easily converted to pass byte offsets, all in our shift
towards a consistent byte interface everywhere. Making the change
will also make it easier to write the hold-out callers to use byte
rather than sectors for their
Both callers already had bytes available, but were scaling to
sectors. Move the scaling to internal code. In the case of
bdrv_aligned_pwritev(), we are now passing the exact offset
rather than a rounded sector-aligned value, but that's okay
as long as dirty bitmap widens start/bytes to
Half the callers were already scaling bytes to sectors; the other
half can eventually be simplified to use byte iteration. Both
callers were already using the result as a bool, so make that
explicit. Making the change also makes it easier for a future
dirty-bitmap patch to offload scaling over
All callers to bdrv_dirty_iter_new() passed 0 for their initial
starting point, drop that parameter.
All callers to bdrv_set_dirty_iter() were scaling an offset to
a sector number; move the scaling to occur internally to dirty
bitmap code instead.
Signed-off-by: Eric Blake
Thanks to recent cleanups, all callers were scaling a return value
of sectors into bytes; do the scaling internally instead.
Signed-off-by: Eric Blake
Reviewed-by: John Snow
---
v2: no change
---
block/backup.c | 2 +-
block/dirty-bitmap.c | 2 +-
We are still using an internal hbitmap that tracks a size in sectors,
with the granularity scaled down accordingly, because it lets us
use a shortcut for our iterators which are currently sector-based.
But there's no reason we can't track the dirty bitmap size in bytes,
since it is an
Now that we have adjusted the majority of the calls this function
makes to be byte-based, it is easier to read the code if it makes
passes over the image using bytes rather than sectors.
Signed-off-by: Eric Blake
Reviewed-by: John Snow
---
v2: no change
---
Thanks to recent cleanups, all callers were scaling a return value
of sectors into bytes; do the scaling internally instead.
Signed-off-by: Eric Blake
Reviewed-by: John Snow
---
v2: no change
---
block/dirty-bitmap.c | 4 ++--
block/mirror.c | 13
set_dirty_tracking() was assuming that the errno value set by
bdrv_create_dirty_bitmap() would not be corrupted by either
blk_get_aio_context() or aio_context_release(). Rather than
audit whether this assumption is safe, rewrite the code to just
grab the value of errno sooner.
CC:
We've been documenting the value in bytes since its introduction
in commit b9a9b3a4 (v1.3), where it was actually reported in bytes.
Commit e4654d2 (v2.0) then removed things from block/qapi.c, in
preparation for a rewrite to a list of dirty sectors in the next
commit 21b5683 in block.c, but the
We had several functions that no one is currently using, and which
use sector-based interfaces. I'm trying to convert towards byte-based
interfaces, so it's easier to just drop the unused functions:
bdrv_dirty_bitmap_size
bdrv_dirty_bitmap_get_meta
bdrv_dirty_bitmap_reset_meta
There are patches floating around to add NBD_CMD_BLOCK_STATUS,
but NBD wants to report status on byte granularity (even if the
reporting will probably be naturally aligned to sectors or even
much higher levels). I've therefore started the task of
converting our block status code to report at a
On Tue, May 16, 2017 at 01:10:59PM -0600, sba...@raithlin.com wrote:
> From: Stephen Bates
>
> Implement NVMe Controller Memory Buffers (CMBs) which were added in
> version 1.2 of the NVMe Specification. This patch adds an optional
> argument (cmb_size_mb) which indicates
From: Paolo Bonzini
Instead, put the CURLAIOCB on a wait list and yield; curl_clean_state will
wake the corresponding coroutine.
Because of CURL's callback-based structure, we cannot easily convert
everything to CoMutex/CoQueue; keeping the QemuMutex is simpler. However,
From: Paolo Bonzini
This is in preparation for the conversion from bdrv_aio_readv to
bdrv_co_preadv, and it also requires changing some of the size_t values
to uint64_t. This was broken before for disks > 2TB, but now it would
break at 4GB.
Reviewed-by: Jeff Cody
From: Paolo Bonzini
The curl driver has a ugly hack where, if it cannot find an empty CURLState,
it just uses aio_poll to wait for one to be empty. This is probably
buggy when used together with dataplane, and the simplest way to fix it
is to use coroutines instead.
A more
From: Paolo Bonzini
curl_clean_state should only be called after all AIOCBs have been
completed. This is not so obvious for the call from curl_detach_aio_context,
so assert that.
Cc: qemu-sta...@nongnu.org
Reviewed-by: Jeff Cody
Signed-off-by: Paolo
From: Paolo Bonzini
This is pretty simple. The bottom half goes away because, unlike
bdrv_aio_readv, coroutine-based read can return immediately without
yielding. However, for simplicity I kept the former bottom half
handler in a separate function.
Reviewed-by: Jeff Cody
From: Paolo Bonzini
All curl callbacks go through curl_multi_do, and hence are called with
s->mutex held. Note that with comments, and make curl_read_cb drop the
lock before invoking the callback.
Likewise for curl_find_buf, where the callback can be invoked by the
caller.
From: Paolo Bonzini
If curl_easy_init fails, a CURLState is left with s->in_use = 1. Split
curl_init_state in two, so that we can distinguish the two failures and
call curl_clean_state if needed.
While at it, simplify curl_find_state, removing a dummy loop. The
aio_poll
From: Peter Krempa
Since cookies can contain sensitive data (session ID, etc ...) it is
desired to hide them from the prying eyes of users. Add a possibility to
pass them via the secret infrastructure.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1447413
The following changes since commit 3a8760664d5c1a1a93c9012bdb8ac07ab8fd4b0d:
Merge tag 'tracing-pull-request' into staging (2017-05-12 10:39:35 -0400)
are available in the git repository at:
git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request
for you to fetch changes up to
Am 16.05.2017 um 17:05 hat Eric Blake geschrieben:
> On 05/16/2017 09:16 AM, Kevin Wolf wrote:
> > Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
> >> - offset_to_bootsector is the number of sectors up to FAT bootsector
> >> - offset_to_fat is the number of sectors up to first File
On Mon, May 15, 2017 at 09:11:36PM +0200, Niels de Vos wrote:
> Add missing support for "preallocation=falloc" to the Gluster block
> driver. This change bases its logic on that of block/file-posix.c and
> removed the gluster_supports_zerofill() function in favour of an #ifdef
> check in an easy
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
> Assume that input filename is encoded as UTF-8, so correctly create UTF-16
> encoding.
> Reuse long_file_name structure to give back to caller the generated long name.
> It will be used in next commit to transform the long file name into
On Thu, May 11, 2017 at 04:42:08PM +0200, Paolo Bonzini wrote:
> diff --git a/block/accounting.c b/block/accounting.c
> index 0429e31c9f..85890e4fe5 100644
> --- a/block/accounting.c
> +++ b/block/accounting.c
> @@ -35,6 +35,7 @@ static const int qtest_latency_ns = NANOSECONDS_PER_SECOND
> /
On Thu, May 11, 2017 at 04:41:50PM +0200, Paolo Bonzini wrote:
> This series uses mutexes or atomic operations around core block layer
> operations. The remaining parts include:
>
> I've removed the failing assertion in bdrv_aligned_pwritev in order to
> test block migration.
>
> Paolo
>
>
On Thu, May 11, 2017 at 04:42:07PM +0200, Paolo Bonzini wrote:
> This is the common code to account operations that produced actual I/O.
>
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: new, to hoist qemu_clock_get_ns out of the
> "if
On Thu, May 11, 2017 at 04:42:06PM +0200, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: remove bdrv_get_dirty from API [Stefan]
> convert block migration from bdrv_get_dirty to _locked
> [Stefan]
>
> block/dirty-bitmap.c
On 05/16/2017 09:16 AM, Kevin Wolf wrote:
> Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
>> - offset_to_bootsector is the number of sectors up to FAT bootsector
>> - offset_to_fat is the number of sectors up to first File Allocation Table
>> - offset_to_root_dir is the number of
On Thu, May 11, 2017 at 04:42:05PM +0200, Paolo Bonzini wrote:
> Any data that is returned by read may be stale already, the bitmap
> has to be cleared before issuing the read.
>
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: new
>
> migration/block.c | 3 ++-
> 1
On Thu, May 11, 2017 at 04:42:04PM +0200, Paolo Bonzini wrote:
> It protects only the list of dirty bitmaps; in the next patch we will
> also protect their content.
>
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: remove global mutex [Fam]
>
> block/dirty-bitmap.c
On Thu, May 11, 2017 at 04:42:03PM +0200, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: correct and simplify flush queue handling [Fam, me]
>
> block.c | 1 +
> block/io.c| 16 ++--
>
On Thu, May 11, 2017 at 04:42:00PM +0200, Paolo Bonzini wrote:
> This module provides fast paths for 64-bit atomic operations on machines
> that only have 32-bit atomic access.
>
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: use CONFIG_ATOMIC64 [Paolo]
>
On Thu, May 11, 2017 at 04:41:59PM +0200, Paolo Bonzini wrote:
> Another possibility is to use tg->lock, which we're holding anyway in
> both schedule_next_request and throttle_group_co_io_limits_intercept.
> This would require open-coding the CoQueue however, so I've chosen this
> alternative.
>
On Thu, May 11, 2017 at 04:41:58PM +0200, Paolo Bonzini wrote:
> Prepare for removing this function; always restart throttled requests
> from coroutine context. This will matter when restarting throttled
> requests will have to acquire a CoMutex.
>
> Signed-off-by: Paolo Bonzini
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
> Specification: "FAT: General overview of on-disk format" v1.03, page 11
> Signed-off-by: Hervé Poussineau
> ---
> block/vvfat.c | 10 +-
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git
On Mon, May 15, 2017 at 12:00:52PM +0200, Paolo Bonzini wrote:
> Compared to v2, this silences checkpatch and correctly destroy the mutex on
> exiting from curl_open with an error.
>
> Paolo
>
> Paolo Bonzini (7):
> curl: strengthen assertion in curl_clean_state
> curl: never invoke
On Tue, May 16, 2017 at 09:42:55AM +0200, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann
> ---
> block/file-win32.c | 1 +
> 1 file changed, 1 insertion(+)
Thanks, applied to my staging tree:
https://github.com/stefanha/qemu/commits/staging
Stefan
signature.asc
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
> - offset_to_bootsector is the number of sectors up to FAT bootsector
> - offset_to_fat is the number of sectors up to first File Allocation Table
> - offset_to_root_dir is the number of sectors up to root directory sector
Hm... These
On Thu, May 11, 2017 at 04:41:57PM +0200, Paolo Bonzini wrote:
> Starting all waiting coroutines from bdrv_drain_all is unnecessary;
> throttle_group_co_io_limits_intercept calls schedule_next_request as
> soon as the coroutine restarts, which in turn will restart the next
> request if possible.
>
On Thu, May 11, 2017 at 04:41:55PM +0200, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: add comment [Fam]
>
> block/io.c| 3 ++-
> block/nfs.c | 4 +++-
> block/sheepdog.c | 3 ++-
> include/block/block.h
On Thu, May 11, 2017 at 04:41:51PM +0200, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini
> ---
> v1->v2: use atomic_fetch_dec [Stefan]
>
> block.c | 6 --
> block/io.c| 8
> blockdev.c| 2 +-
>
Am 15.05.2017 um 22:31 hat Hervé Poussineau geschrieben:
> Signed-off-by: Hervé Poussineau
> ---
> block/vvfat.c | 8
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/block/vvfat.c b/block/vvfat.c
> index 002bd86e42..57f2489689 100644
> ---
Am 15.05.2017 um 22:42 hat Eric Blake geschrieben:
> On 05/15/2017 03:31 PM, Hervé Poussineau wrote:
> > - bs->total_sectors is the number of sectors of the whole disk
> > - s->sector_count is the number of sectors of the FAT partition
I wonder if we should rename s->sector_count into something
Eric Blake writes:
> Fam's addition of --force-share in commits 459571f7 and 335e9937
> were developed prior to the addition of QDict scalar insertion
> macros, but merged after the general cleanup in commit 46f5ac20.
> Patch created mechanically by rerunning:
>
> spatch
16.05.2017 13:00, Paolo Bonzini wrote:
On 16/05/2017 11:45, Vladimir Sementsov-Ogievskiy wrote:
Hi all. There are several patches, as preparation for v2 of my
NBD BLOCK_STATUS series.
patch 0001 was sent earlier and unchanged here.
Thanks, applied. I suppose that if we can remove
HI, Hai Liang
Is there recently any plan to post libvirt support for COLO feature?
Regards,
Zhi Yong Wu
At 2017-04-12 22:05:15, "zhanghailiang" wrote:
>COLO block replication doesn't support the shared disk case,
>Here we try to implement it and this is the
Hi,
This series failed automatic build test. Please find the testing commands and
their output below. If you have docker installed, you can probably reproduce it
locally.
Subject: [Qemu-devel] [PATCH 0/5] nbd: error path refactoring
Type: series
Message-id:
On 16/05/2017 11:45, Vladimir Sementsov-Ogievskiy wrote:
> Hi all. There are several patches, as preparation for v2 of my
> NBD BLOCK_STATUS series.
>
> patch 0001 was sent earlier and unchanged here.
Thanks, applied. I suppose that if we can remove
nbd_negotiate_read/write/drop it's also
There a lot of calls of these functions, which already have errp, which
they are filling themselves. On the other hand, nbd_wr_syncv has errp
parameter too, so it would be great to connect them.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
nbd/client.c | 76
Will be used in following patch to provide actual error message in
some cases.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/nbd-client.c | 4 ++--
include/block/nbd.h | 3 ++-
nbd/common.c| 12 +---
nbd/nbd-internal.h | 4 ++--
4 files
nbd_wr_syncv is called either from coroutine or from client negotiation
code, when socket is in blocking mode. So, -EAGAIN is impossible.
Furthermore, EAGAIN is confusing, as, what to read/write again? With
EAGAIN as a return code we don't know how much data is already
read or written by the
Move to modern errp scheme from just LOGging errors.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/nbd-client.c | 7 ++-
include/block/nbd.h | 5 +++--
nbd/client.c| 26 ++
qemu-nbd.c | 3 ++-
4 files changed, 25
functions read_sync, drop_sync, write_sync, and also
nbd_negotiate_write, nbd_negotiate_read, nbd_negotiate_drop_sync
returns number of processed bytes. But what this number can be,
except requested number of bytes?
Actually, underlying nbd_wr_syncv function returns a value >= 0 and
!=
On Mon, May 15, 2017 at 07:43:15PM +0200, Max Reitz wrote:
> On 2017-05-15 16:04, Daniel P. Berrange wrote:
> > The qemu-img dd/convert commands will create an image file and
> > then try to open it. Historically it has been possible to open
> > new files without passing any options. With
Am 15.05.2017 um 21:17 hat Max Reitz geschrieben:
> On 2017-05-15 20:41, Max Reitz wrote:
> > On 2017-05-12 21:47, John Snow wrote:
> >>
> >>
> >> On 05/12/2017 03:46 PM, Eric Blake wrote:
> >>> On 05/12/2017 01:07 PM, Max Reitz wrote:
> On 2017-05-11 20:27, John Snow wrote:
> > Fixes:
On Tue, 05/16 09:52, Stefan Weil wrote:
> Am 16.05.2017 um 09:42 schrieb Gerd Hoffmann:
> > Signed-off-by: Gerd Hoffmann
> > ---
> > block/file-win32.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/block/file-win32.c b/block/file-win32.c
> > index
Am 16.05.2017 um 09:42 schrieb Gerd Hoffmann:
Signed-off-by: Gerd Hoffmann
---
block/file-win32.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/file-win32.c b/block/file-win32.c
index 1a35dbabf2..8f14f0bdcd 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
Signed-off-by: Gerd Hoffmann
---
block/file-win32.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/file-win32.c b/block/file-win32.c
index 1a35dbabf2..8f14f0bdcd 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
@@ -346,6 +346,7 @@ static int
66 matches
Mail list logo