[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] [Qemu-devel] An issue in block-migration

From: Stefan Hajnoczi
Subject: Re: [Qemu-discuss] [Qemu-devel] An issue in block-migration
Date: Thu, 10 Oct 2013 10:46:37 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Oct 03, 2013 at 04:23:45AM +0000, Yaodong Yang wrote:
> In block-migration.c file, line 435, if (bdrv_get_dirty(bmds->bs, sector)) {
> It looks like this "if statement" is used to check whether a chunk is dirty 
> or not. If it is dirty, system will migrate a whole chunk, 1MB data, to the 
> destination. Otherwise, the cur_dirty will increase by 1MB/512B sectors.
> However, in my understanding, this function, bdrv_get_dirty(bmds->bs, 
> sector), only check this sector (512B) is dirty or not, rather than a whole 
> chunk (1MB). Could someone tell me the reason?

See block-migration.c:set_dirty_tracking():
bdrv_set_dirty_tracking(bmds->bs, enable ? BLOCK_SIZE : 0);

The dirty bitmap granularity is set to BLOCK_SIZE.  Any write in the
open range [sector, sector + BLOCK_SIZE / BDRV_SECTOR_SIZE) will mark
the bit dirty.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]