On Tue, Jul 29, 2014 at 09:00:43AM +0800, Fam Zheng wrote:
On Mon, 07/28 16:11, Stefan Hajnoczi wrote:
On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
+if (!bs-backing_hd) {
+memset(whole_grain, 0, skip_start_sector BDRV_SECTOR_BITS);
+
On Tue, 07/29 13:51, Stefan Hajnoczi wrote:
On Tue, Jul 29, 2014 at 09:00:43AM +0800, Fam Zheng wrote:
On Mon, 07/28 16:11, Stefan Hajnoczi wrote:
On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
+if (!bs-backing_hd) {
+memset(whole_grain, 0, skip_start_sector
On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
+if (!bs-backing_hd) {
+memset(whole_grain, 0, skip_start_sector BDRV_SECTOR_BITS);
+memset(whole_grain + (skip_end_sector BDRV_SECTOR_BITS), 0,
+ cluster_bytes - (skip_end_sector
On Mon, 07/28 16:11, Stefan Hajnoczi wrote:
On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
+if (!bs-backing_hd) {
+memset(whole_grain, 0, skip_start_sector BDRV_SECTOR_BITS);
+memset(whole_grain + (skip_end_sector BDRV_SECTOR_BITS), 0,
+
This drops the unnecessary bdrv_truncate() from, and also improves,
cluster allocation code path.
Before, when we need a new cluster, get_cluster_offset truncates the
image to bdrv_getlength() + cluster_size, and returns the offset of
added area, i.e. the image length before truncating.
This is