On Fri, Oct 20, 2017 at 11:58 Fam Zheng <f...@redhat.com> wrote:
> On Mon, 10/09 22:12, Fam Zheng wrote:
> > On Mon, 10/09 18:29, Ashijeet Acharya wrote:
> > > Optimization test results:
> > >
> > > This patch series improves 128 KB sequential write per
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 56
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index cbeffb1552..497e3
the offset of the first of
the many newly allocated clusters. Also, provide proper documentation
for both.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 201 +++
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
Move the cluster tables loading code out of the existing
vmdk_get_cluster_offset() function and implement it in separate
get_cluster_table() and vmdk_l2load() functions.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 13
Rename the existing function get_whole_cluster() to vmdk_perform_cow()
as its sole purpose is to perform COW for the first and the last
allocated clusters if needed.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block
Rename the existing get_cluster_offset() to vmdk_get_cluster_offset()
and update name in all the callers accordingly.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 46 +++---
Move the existing vmdk_find_offset_in_cluster() function to the top of
the driver.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
hmark test results in v2
Ashijeet Acharya (8):
vmdk: Move vmdk_find_offset_in_cluster() to the top
vmdk: Rename get_whole_cluster() to vmdk_perform_cow()
vmdk: Rename get_cluster_offset() to vmdk_get_cluster_offset()
vmdk: Factor out metadata loading code out of
vmdk_get_cluster_offse
On Wed, Oct 4, 2017 at 1:58 PM, Fam Zheng <f...@redhat.com> wrote:
> On Wed, 10/04 13:47, Ashijeet Acharya wrote:
> > Fam: Ping?
>
> Hi Ashijeet, looks like this patch doesn't apply to current master, could
> you
> rebase and post another version?
>
Hello
On Thu, Aug 10, 2017 at 11:13 PM, Stefan Hajnoczi <stefa...@gmail.com>
wrote:
> On Thu, Aug 10, 2017 at 9:18 AM, Ashijeet Acharya
> <ashijeetacha...@gmail.com> wrote:
> > On Thu, Aug 10, 2017 at 1:41 PM, Stefan Hajnoczi <stefa...@gmail.com>
> wrote:
> >
On Tue, Sep 5, 2017 at 4:28 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote:
> On Wed, Aug 30, 2017 at 06:32:52PM +0530, Ashijeet Acharya wrote:
> > On Tue, Aug 29, 2017 at 8:55 PM, Stefan Hajnoczi <stefa...@gmail.com>
> wrote:
> >
> > > On Sun, Au
On Tue, Aug 29, 2017 at 8:55 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote:
> On Sun, Aug 20, 2017 at 1:47 PM, Ashijeet Acharya
> <ashijeetacha...@gmail.com> wrote:
> > On Fri, May 5, 2017 at 7:29 PM, Stefan Hajnoczi <stefa...@gmail.com>
> wrote:
> >&g
On Fri, May 5, 2017 at 7:29 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote:
> On Thu, Apr 27, 2017 at 01:36:30PM +0530, Ashijeet Acharya wrote:
> > This series helps to provide chunk size independence for DMG driver to
> prevent
> > denial-of-service in cases where u
On Thu, Aug 10, 2017 at 1:41 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote:
> On Thu, Jul 27, 2017 at 3:33 PM, Ashijeet Acharya
> <ashijeetacha...@gmail.com> wrote:
> > Previously posted series patches:
> > v1 - http://lists.nongnu.org/archive/html/qemu-devel/2
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 13
the offset of the first of
the many newly allocated clusters. Also, provide proper documentation
for both.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 201 +++
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
lable (fam)
- call bdrv_pwrite_sync() for batches of atmost 512 clusters at once (fam)
Changes in v2:
- segregate the ugly Patch 1 in v1 into 6 readable and sensible patches
- include benchmark test results in v2
Ashijeet Acharya (8):
vmdk: Move vmdk_find_offset_in_cluster() to the top
vm
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 56
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 4a59ca4..a84b26c 100644
Move the existing vmdk_find_offset_in_cluster() function to the top of
the driver.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
Move the cluster tables loading code out of the existing
vmdk_get_cluster_offset() function and implement it in separate
get_cluster_table() and vmdk_l2load() functions.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/
Rename the existing get_cluster_offset() to vmdk_get_cluster_offset()
and update name in all the callers accordingly.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 46 +++---
Rename the existing function get_whole_cluster() to vmdk_perform_cow()
as its sole purpose is to perform COW for the first and the last
allocated clusters if needed.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 56
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 60b8adc..d41fde9 100644
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 13
Move the cluster tables loading code out of the existing
vmdk_get_cluster_offset() function and implement it in separate
get_cluster_table() and vmdk_l2load() functions.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/
the offset of the first of
the many newly allocated clusters. Also, provide proper documentation
for both.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 200 ---
1 file changed, 190 insertions(+), 10 del
Rename the existing get_cluster_offset() to vmdk_get_cluster_offset()
and update name in all the callers accordingly.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 46 +++---
Rename the existing function get_whole_cluster() to vmdk_perform_cow()
as its sole purpose is to perform COW for the first and the last
allocated clusters if needed.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c
v1 into 6 readable and sensible patches
- include benchmark test results in v2
Ashijeet Acharya (8):
vmdk: Move vmdk_find_offset_in_cluster() to the top
vmdk: Rename get_whole_cluster() to vmdk_perform_cow()
vmdk: Rename get_cluster_offset() to vmdk_get_cluster_offset()
vmdk: Factor ou
Move the existing vmdk_find_offset_in_cluster() function to the top of
the driver.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
On Tue, Jun 27, 2017 at 1:34 PM, Fam Zheng <f...@redhat.com> wrote:
> On Mon, 06/05 13:22, Ashijeet Acharya wrote:
>> @@ -1876,6 +1942,13 @@ static int vmdk_pwritev(BlockDriverState *bs,
>> uint64_t offset,
>> offset += n_bytes;
>> bytes_done
On Tue, Jun 27, 2017 at 1:32 PM, Fam Zheng <f...@redhat.com> wrote:
> On Mon, 06/05 13:22, Ashijeet Acharya wrote:
>> +/*
>> + * vmdk_handle_alloc
>> + *
>> + * Allocate new clusters for an area that either is yet unallocated or
>> needs a
>> + *
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 56
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 9fa2414..accf1c3 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1
Move the cluster tables loading code out of the existing
vmdk_get_cluster_offset() function and implement it in separate
get_cluster_table() and vmdk_l2load() functions.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/
the offset of the first of
the many newly allocated clusters. Also, provide proper documentation
for both.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 192 +++
1 file changed, 182 insertions(+), 10 del
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c
Rename the existing get_cluster_offset() to vmdk_get_cluster_offset()
and update name in all the callers accordingly.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 46 +++---
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 13
Move the existing vmdk_find_offset_in_cluster() function to the top of
the driver.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
1 in v1 into 6 readable and sensible patches
- include benchmark test results in v2
Ashijeet Acharya (8):
vmdk: Move vmdk_find_offset_in_cluster() to the top
vmdk: Rename get_whole_cluster() to vmdk_perform_cow()
vmdk: Rename get_cluster_offset() to vmdk_get_cluster_offset()
vmdk: Factor out m
Rename the existing function get_whole_cluster() to vmdk_perform_cow()
as its sole purpose is to perform COW for the first and the last
allocated clusters if needed.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block
On Mon, Jun 5, 2017 at 11:23 AM, Ashijeet Acharya
<ashijeetacha...@gmail.com> wrote:
> Introduce two new helper functions handle_alloc() and
> vmdk_alloc_cluster_offset(). handle_alloc() helps to allocate multiple
> clusters at once starting from a given offset on disk a
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 56
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 9fa2414..accf1c3 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1
Move the cluster tables loading code out of the existing
vmdk_get_cluster_offset() function and implement it in separate
get_cluster_table() and vmdk_l2load() functions.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 13
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c
Rename the existing get_cluster_offset() to vmdk_get_cluster_offset()
and update name in all the callers accordingly.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 46 +++---
Move the existing vmdk_find_offset_in_cluster() function to the top of
the driver.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
the offset of the first of
the many newly allocated clusters. Also, provide proper documentation
for both.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 192 +++
1 file changed, 182 insertions(+), 10 del
ke them compilable (fam)
- call bdrv_pwrite_sync() for batches of atmost 512 clusters at once (fam)
Changes in v2:
- segregate the ugly Patch 1 in v1 into 6 readable and sensible patches
- include benchmark test results in v2
Ashijeet Acharya (8):
vmdk: Move vmdk_find_offset_in_cluster() to
Rename the existing function get_whole_cluster() to vmdk_perform_cow()
as its sole purpose is to perform COW for the first and the last
allocated clusters if needed.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block
On Thu, Jun 1, 2017 at 7:27 PM, Fam Zheng <f...@redhat.com> wrote:
> On Sat, 04/22 10:43, Ashijeet Acharya wrote:
>> Introduce two new helper functions handle_alloc() and
>> vmdk_alloc_cluster_offset(). handle_alloc() helps to allocate multiple
>> clusters at once s
On Thu, Apr 27, 2017 at 1:36 PM, Ashijeet Acharya
<ashijeetacha...@gmail.com> wrote:
> Previously posted series patches:
> v1: http://lists.nongnu.org/archive/html/qemu-devel/2017-04/msg04641.html
>
> This series helps to provide chunk size independence for DMG driver t
We do not need to cache the access point for these chunks but need to
update our various supporting variables like chunk, sectors_read etc.
to keep maintaining our code structure. Call cache_access_point() after
reading chunks of these types.
Signed-off-by: Ashijeet Acharya <ashijeeta
ces inside dmg_read_chunk()
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.c | 159 +++-
1 file changed, 94 insertions(+), 65 deletions(-)
diff --git a/block/dmg.c b/block/dmg.c
index c6fe8b0..32623e2 100644
--- a/b
Introduce a new cache_access_point() function which will help us first
cache a random access point inside a compressed stream and then keep
updating it according to our requirement at appropriate times.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.
is. Remove the error messages to
prevent denial-of-service in cases where untrusted files are being
accessed by the user.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.c | 24 +---
1 file changed, 1 insertion(+), 23 deletions(-)
diff --git a/blo
We need to cache the random access point while performing partial
decompression so that we can resume decompression from that point
onwards in our next sequential read request. Introduce a new struct
DMGReadState which will help us do this.
Signed-off-by: Ashijeet Acharya <ashijeeta
ata' variable depending on our cached access point
situation to align our read requests appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.c | 23 +++
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/block/dmg.c b/block/
Set the output buffer size to be equal to the size of number of sectors
stored in @sectors_read. Start inflating to a max output buffer size of
2MB and cache our access point to aid random access later if required.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.
s in v2:
- limit the buffer size to 2MB after fixing the buffering problems (john/fam)
Ashijeet Acharya (7):
dmg: Introduce a new struct to cache random access points
dmg: New function to help us cache random access point
dmg: Refactor and prepare dmg_read_chunk() to cache random access
points
On Thu, Apr 27, 2017 at 12:56 PM, Fam Zheng wrote:
> On Wed, 04/26 17:30, John Snow wrote:
>> Seems OK otherwise, but I would normally expect you to fix the buffering
>> problems first, and then reduce the size of the buffer -- not the other
>> way around. This version introduces
On Thu, Apr 27, 2017 at 3:00 AM, John Snow <js...@redhat.com> wrote:
>
>
> On 04/25/2017 03:59 PM, Ashijeet Acharya wrote:
>> The size of the output buffer is limited to a maximum of 2MB so that
>> QEMU doesn't end up allocating huge amounts of memory while
>&g
ata' variable depending on our cached access point
situation to align our read requests appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.c | 23 +++
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/block/dmg.c b/block/
We do not need to cache the access point for these chunks but need to
update our various supporting variables like chunk, sectors_read etc.
to keep maintaining our code structure. Call cache_access_point() after
reading chunks of these types.
Signed-off-by: Ashijeet Acharya <ashijeeta
in cases where
untrusted files are being accessed by the user.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.c | 22 --
1 file changed, 22 deletions(-)
diff --git a/block/dmg.c b/block/dmg.c
index b0f3c84..01ec40e 100644
--- a/block/dmg.c
+++ b
Set the output buffer size to be equal to the size of number of sectors
stored in @sectors_read. Start inflating to a max output buffer size of
2MB and cache our access point to aid random access later if required.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.
DMG files is to be
compatible with qemu-img convert.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/dmg.c b/block/dmg.c
index c6fe8b0..7ae30e3 100644
--- a/block/dmg.c
+
Introduce a new cache_access_point() function which will help us first
cache a random access point inside a compressed stream and then keep
updating it according to our requirement at appropriate times.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/dmg.
We need to cache the random access point while performing partial
decompression so that we can resume decompression from that point
onwards in our next sequential read request. Introduce a new struct
DMGReadState which will help us do this.
Signed-off-by: Ashijeet Acharya <ashijeeta
Refactor dmg_read_chunk() to start making use of the new DMGReadState
structure and do chunk and sector related calculations based on it.
Add a new argument "DMGReadState *drs" to it.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
b
ccess-to-bzip2.html
[3] http://linux.math.tifr.res.in/manuals/html/manual_3.html#SEC17
Special thanks to Peter Wu for helping me understand and tackle the bz2
compressed chunks.
Ashijeet Acharya (8):
dmg: Introduce a new struct to cache random access points
dmg: New function to help us cach
Hi,
cc'ing Peter Wu in...
Currently I have completed the task for zlib, uncompressed and zeroed
chunks in a DMG file using the approach we discussed earlier.
Unfortunately, this approach is not appropriate for bz2 chunks since
we cannot restart our decompression from the access point we cached
>> For testing I am first converting the images to raw format and then
>> comparing the resulting image with the one converted using v2.9.0 DMG
>> driver and after battling for 2 days with my code, it finally prints
>> "Images are identical." According to John, that should be pretty
>> conclusive
Hi,
Great news!
I have almost completed this task and the results are looking
promising. I have not yet attended to the DMG files having bz2
compressed chunks but that should be easy and pretty similar to my
approach for zlib compressed files. So, no worries there.
For testing I am first
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 56
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index e52c373..be08bde 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1
the offset of the first of
the many newly allocated clusters. Also, provide proper documentation
for both.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 192 +++
1 file changed, 182 insertions(+), 10 del
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 13 +++--
1 file changed, 11 insertions
Move the cluster tables loading code out of the existing
vmdk_get_cluster_offset() function and implement it in separate
get_cluster_table() and vmdk_L2load() functions. This patch will help
us avoid code duplication in future patches of this series.
Signed-off-by: Ashijeet Acharya <ashijeeta
Move the existing vmdk_find_offset_in_cluster() function to the top of
the driver.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
Rename the existing function get_whole_cluster() to vmdk_perform_cow()
as its sole purpose is to perform COW for the first and the last
allocated clusters if needed.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
block
able (fam)
- call bdrv_pwrite_sync() for batches of atmost 512 clusters at once (fam)
Changes in v2:
- segregate the ugly Patch 1 in v1 into 6 readable and sensible patches
- include benchmark test results in v2
Ashijeet Acharya (8):
vmdk: Move vmdk_find_offset_in_cluster() to the top
vmdk: Rename
Rename the existing get_cluster_offset() to vmdk_get_cluster_offset()
and update name in all the callers accordingly.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 46 +++---
1 file changed, 23 insertions(+), 23 del
On Fri, Apr 21, 2017 at 8:23 PM, Ashijeet Acharya
<ashijeetacha...@gmail.com> wrote:
> On Wed, Apr 19, 2017 at 6:30 PM, Fam Zheng <f...@redhat.com> wrote:
>> On Sat, 04/01 20:14, Ashijeet Acharya wrote:
>>> Set the maximum bytes allowed to get allocated at once to b
On Fri, Apr 21, 2017 at 1:45 PM, Fam Zheng <f...@redhat.com> wrote:
> On Sat, 04/01 20:14, Ashijeet Acharya wrote:
>> Include a next pointer in VmdkMetaData struct to point to the previous
>> allocated L2 table. Modify vmdk_L2update to start updating metadata for
>> allo
On Wed, Apr 19, 2017 at 6:30 PM, Fam Zheng <f...@redhat.com> wrote:
> On Sat, 04/01 20:14, Ashijeet Acharya wrote:
>> Set the maximum bytes allowed to get allocated at once to be not more
>> than the extent size boundary to handle writes at two separate extents
>> appr
On Wed, Apr 19, 2017 at 18:27 Fam Zheng <f...@redhat.com> wrote:
> On Sat, 04/01 20:14, Ashijeet Acharya wrote:
> > Rename the existing get_cluster_offset() function to
> > vmdk_get_cluster_offset() and have it make use of the new
> > get_cluster_table() to lo
On Wed, Apr 19, 2017 at 18:26 Fam Zheng <f...@redhat.com> wrote:
> On Sat, 04/01 20:14, Ashijeet Acharya wrote:
> > Move the cluster tables loading code out of the existing
> > get_cluster_offset() function to avoid code duplication and implement it
> > in
On Tue, Apr 18, 2017 at 10:35 PM, John Snow wrote:
>
>>
>> I could be wrong, but that's my hunch.
>>
>> Maybe you can cache the state of the INFLATE process such that once you
>> fill the cache with data, we can simply resume the INFLATE procedure
>> when the
On Tue, Apr 18, 2017 at 01:59 John Snow <js...@redhat.com> wrote:
>
>
> On 04/15/2017 04:38 AM, Ashijeet Acharya wrote:
> > Hi,
> >
> > Some of you are already aware but for the benefit of the open list,
> > this mail is regarding the task mentioned
> &
Hi,
Some of you are already aware but for the benefit of the open list,
this mail is regarding the task mentioned
Here -> http://wiki.qemu-project.org/ToDo/Block/DmgChunkSizeIndependence
I had a chat with Fam regarding this and he suggested a solution where
we fix the output buffer size to a max
On Sat, Apr 1, 2017 at 8:14 PM, Ashijeet Acharya
<ashijeetacha...@gmail.com> wrote:
> Move the existing vmdk_find_offset_in_cluster() function to the top of
> the driver. Also, introduce a new helper function size_to_clusters()
> which returns the number of clusters for a given size
Include a next pointer in VmdkMetaData struct to point to the previous
allocated L2 table. Modify vmdk_L2update to start updating metadata for
allocation of multiple clusters at once.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c
Set the maximum bytes allowed to get allocated at once to be not more
than the extent size boundary to handle writes at two separate extents
appropriately.
Signed-off-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 13 +++--
1 file changed, 11 insertions
-by: Ashijeet Acharya <ashijeetacha...@gmail.com>
---
block/vmdk.c | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index a9bd22b..22be887 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -242,6 +242,18 @@ stati
1 - 100 of 330 matches
Mail list logo