On 09/20/2010 05:08 PM, Kevin Wolf wrote:
>
>  Let's expand it a bit more:
>
>  1. Update refcount table
>  2. bdrv_flush
>  3. Update L2 entry
>  4. Write data to disk
>  5. Report write complete
>
>  I'm struggling to understand how a thread helps out.

This sequence becomes:

1. Update refcount table
2. Write data to disk
3. Report write complete

And only later:

4. Update L2 entry
5. bdrv_flush (possibly merged with other flushes)


The L2 update needs to happen after we're sure the refcount update is stable, so need a bdrv_flush between them.

Still, the basic idea looks sound. You can do many refcount updates, flush, many L2 updates, flush.

--
error compiling committee.c: too many arguments to function


Reply via email to