2011/8/2 Kevin Wolf <kw...@redhat.com>: > Am 02.08.2011 17:29, schrieb Frediano Ziglio: >>>> - L2 allocation can be done with relative data (this is not easy to do >>>> with current code) >>> >>> What do you mean by that? >>> >> >> Let's take an example. By allocation I mean give a position to >> data/l2/refcount_table. Usually you cannot update/write L2 before data >> is allocated and written if you don't want to get a L2 entry pointing >> to garbage or unwritten data (if physically you write to a sector you >> get new data or old one on fail, not data changing to anything else). >> The exception to this is when even L2 table is not allocated. In this >> case you can write L2 table with data cause in case of failure this >> new L2 table is just not attached to anything (cause L1 still point to >> old L2 or is not allocated). My patch can collapse these two cluster >> writes in a single one. The key point of the patch is mainly >> collapsing all writes as you can not blocking other writes if not >> needed. > > Ok, I see. > > Not sure if it makes any measurable difference. With 64k clusters, an L2 > allocation happens only every 512 MB. But if it's not much code to > support it, it's probably a good thing. >
Let's see :) I published a repo at gitorious. https://gitorious.org/qemu (yes, qemu was free for me :) ) Currently there are 2 branches, qcow2x and my_cleanup. I think gitk interface is much better. From my_cleanup branch from "qcow: allocate QCowAIOCB structure using stack" to "qcow: embed qcow_aio_read_cb into qcow_co_readv and qcow_aio_write_cb into qcow_co_writev" there are cleanups for qcow while from "qcow2: removed unused fields" to "qcow2: remove memory leak" there are cleanups for qcow2. ... omissis ... > > Works for me. Just anything that I can pull from. > >>> Are you in the #qemu IRC channel? I think we should coordinate our qcow2 >>> work a bit in order to avoid conflicting or duplicate work. >> >> No, I don't use irc that much (time shift problems and also connection >> too). When are you online? > > Usually until something like 18:00 CEST (16:00 UTC). > > Kevin > :( me from 18:00 CEST Frediano