WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [patch 0/6] xenblk: Add O_DIRECT and O_SYNC support.

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [patch 0/6] xenblk: Add O_DIRECT and O_SYNC support.
From: Joe Jin <joe.jin@xxxxxxxxxx>
Date: Wed, 5 Nov 2008 08:16:20 +0000 (GMT)
Cc: Xen-Devel <Xen-devel@xxxxxxxxxxxxxxxxxxx>, Kurt Hackel <kurt.hackel@xxxxxxxxxx>, Jens, Shinya Narahara <shinya.narahara@xxxxxxxxxx>, Greg Marsden <greg.marsden@xxxxxxxxxx>, Wen Gang Wang <wen.gang.wang@xxxxxxxxxx>, Axboe <jens.axboe@xxxxxxxxxx>
Delivery-date: Wed, 05 Nov 2008 00:16:50 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>> Do you think when xenblk backend make_reponse() means the request have
>> commited to disk?
>> We have did a sample testing and found without BI_RW_SYNC flag setted,
>> either O_DIRECT or O_SYNC flag, when vm crashed/power outage, lots of
>> data lost, sometimes more than 1M data lost, that means vm under
>> high data lost risk. With BI_RW_SYNC flag when call submit_bio, open
>> file with O_DIRECT or O_SYNC flag, could sync data very well.

>What's the vbd type in this case: raw partition, lvm, qcow file, ...?

Raw partition, crashed/power outage, lots of data lost :(

>The existing BLKIF_OP_WRITE_BARRIER and BLKIF_OP_FLUSH_DISKCACHE should
>suffice to implement O_SYNC on the blkfront side, I think. O_DIRECT doesn't
>mean writes are synchronous to the platters -- just means the buffer cache
>is bypassed -- which should generally be the case on the blkback side always
>anyway.

However, frontend driver could not got the write's flag at all.
if we could know the request with O_SYNC flag should be easy to handle,
need not touch filesystem layer.
O_DIRECT is difference not only buffer head, if read/write is direct-io,
need to commit request as soon as possible, means unplug request_queue
if request with O_DIRECT flag(request should be marked REQ_RW_SYNC 
flag).

Thanks,
Joe

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>