[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 15/15] qcow2: small optimization
From: |
Frediano Ziglio |
Subject: |
[Qemu-devel] [PATCH v3 15/15] qcow2: small optimization |
Date: |
Tue, 23 Aug 2011 15:21:22 +0200 |
Signed-off-by: Frediano Ziglio <address@hidden>
---
block/qcow2-refcount.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
index 0f9a64a..243c24b 100644
--- a/block/qcow2-refcount.c
+++ b/block/qcow2-refcount.c
@@ -681,14 +681,13 @@ void qcow2_create_refcount_update(QCowCreateState *s,
int64_t offset,
int64_t size)
{
int refcount;
- int64_t start, last, cluster_offset;
+ int64_t start, last, cluster;
uint16_t *p;
- start = offset & ~(s->cluster_size - 1);
- last = (offset + size - 1) & ~(s->cluster_size - 1);
- for(cluster_offset = start; cluster_offset <= last;
- cluster_offset += s->cluster_size) {
- p = &s->refcount_block[cluster_offset >> s->cluster_bits];
+ start = offset >> s->cluster_bits;
+ last = (offset + size - 1) >> s->cluster_bits;
+ for(cluster = start; cluster <= last; ++cluster) {
+ p = &s->refcount_block[cluster];
refcount = be16_to_cpu(*p);
refcount++;
*p = cpu_to_be16(refcount);
--
1.7.1
- [Qemu-devel] [PATCH v3 02/15] qcow: QCowAIOCB field cleanup, (continued)
- [Qemu-devel] [PATCH v3 02/15] qcow: QCowAIOCB field cleanup, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 03/15] qcow: move some blocks of code to avoid useless variable initialization, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 05/15] qcow: remove old #undefined code, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 04/15] qcow: embed qcow_aio_read_cb into qcow_co_readv and qcow_aio_write_cb into qcow_co_writev, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 06/15] qcow2: removed unused fields, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 07/15] qcow2: removed cur_nr_sectors field in QCowAIOCB, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 08/15] qcow2: remove l2meta from QCowAIOCB, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 09/15] qcow2: remove cluster_offset from QCowAIOCB, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 12/15] qcow2: removed QCowAIOCB entirely, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 13/15] qcow2: remove memory leak, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 15/15] qcow2: small optimization,
Frediano Ziglio <=
- [Qemu-devel] [PATCH v3 14/15] qcow2: small math optimization, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 10/15] qcow2: remove common from QCowAIOCB, Frediano Ziglio, 2011/08/23
- [Qemu-devel] [PATCH v3 11/15] qcow2: reindent and use while before the big jump, Frediano Ziglio, 2011/08/23
- Re: [Qemu-devel] [PATCH v3 00/15] qcow/qcow2 cleanups, Kevin Wolf, 2011/08/23