[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics
From: |
Jamie Lokier |
Subject: |
Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics |
Date: |
Thu, 10 Jan 2013 17:22:30 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Paolo Bonzini wrote:
> Il 10/01/2013 16:25, Jamie Lokier ha scritto:
> >> > Perhaps it's a bug that the cache mode is not reset when the machine is
> >> > reset. I haven't checked that, but it would be a valid complaint.
> > The question is, is cache=writeback/cache=writethrough an initial
> > setting of guest-visible WCE that the guest is allowed to change, or
> > is cache=writeththrough a way of saying "don't have a write cache"
> > (which may or may not be reflected in the guest-visible disk id).
>
> It used to be the latter (with reflection in the disk data), but now it
> is the former.
Interesting. It could be worth a note in the manual.
> > I couldn't tell from QEMU documentation which is intended. It would
> > be a bit silly if it means different things for different backend
> > storage.
>
> It means the same thing for IDE, SCSI and virtio-blk. Other backends,
> such as SD, do not even have flush, and are really slow with
> cache=writethrough because they write one sector at a time. For this
> reason they cannot really be used in a "safe" manner.
>
> > I have seen (obscure) guest code which toggled WCE to simulate FUA,
>
> That's quite useless, since WCE=1->WCE=0 is documented to cause a flush
> (and it does). Might as well send a real flush.
It was because the ATA spec seemed to permit the combination of WCE
with no flush command supported. So WCE=>1->WCE=0 was used to flush,
and kept at WCE=0 for the subsequent logging write-FUA(s), until a
non-FUA write was wanted.
-- Jamie
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, (continued)
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Paolo Bonzini, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Liu Yuan, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Liu Yuan, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Liu Yuan, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Kevin Wolf, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Liu Yuan, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Paolo Bonzini, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Liu Yuan, 2013/01/10
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Jamie Lokier, 2013/01/10
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Paolo Bonzini, 2013/01/10
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics,
Jamie Lokier <=
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Kevin Wolf, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Paolo Bonzini, 2013/01/09
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Jamie Lokier, 2013/01/10
- Re: [Qemu-devel] [PATCH] sheepdog: implement direct write semantics, Kevin Wolf, 2013/01/10