[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support
From: |
Avi Kivity |
Subject: |
[Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support |
Date: |
Sun, 10 Oct 2010 11:10:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc13 Lightning/1.0b3pre Thunderbird/3.1.4 |
On 10/08/2010 05:48 PM, Stefan Hajnoczi wrote:
This patch implements the read/write state machine. Operations are
fully asynchronous and multiple operations may be active at any time.
Allocating writes lock tables to ensure metadata updates do not
interfere with each other. If two allocating writes need to update the
same L2 table they will run sequentially. If two allocating writes need
to update different L2 tables they will run in parallel.
Shouldn't there be a flush between an allocating write and an L2
update? Otherwise a reuse of a cluster can move logical sectors from
one place to another, causing a data disclosure.
Can be skipped if the new cluster is beyond the physical image size.
+
+/*
+ * Table locking works as follows:
+ *
+ * Reads and non-allocating writes do not acquire locks because they do not
+ * modify tables and only see committed L2 cache entries.
What about a non-allocating write that follows an allocating write?
1 Guest writes to sector 0
2 Host reads backing image (or supplies zeros), sectors 1-127
3 Host writes sectors 0-127
4 Guest writes sector 1
5 Host writes sector 1
There needs to be a barrier that prevents the host and the disk from
reordering operations 3 and 5, or guest operation 4 is lost. As far as
the guest is concerned no overlapping writes were issued, so it isn't
required to provide any barriers.
(based on the comment only, haven't read the code)
--
error compiling committee.c: too many arguments to function
- [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, (continued)
- [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Stefan Hajnoczi, 2010/10/11
- Re: [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Anthony Liguori, 2010/10/11
- Re: [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Anthony Liguori, 2010/10/11
- Re: [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Kevin Wolf, 2010/10/12
- Re: [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Stefan Hajnoczi, 2010/10/12
- Re: [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Anthony Liguori, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification, Kevin Wolf, 2010/10/11
[Qemu-devel] [PATCH v2 4/7] qed: Add QEMU Enhanced Disk image format, Stefan Hajnoczi, 2010/10/08
[Qemu-devel] [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/08
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support,
Avi Kivity <=
[Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Kevin Wolf, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Kevin Wolf, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/12
- [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/12