[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Tapdisk O_DIRECT breaks read-only-ness



Christopher Head, le Thu 10 Jul 2008 21:02:06 -0700, a écrit :
> However, on line 141 of tools/blktap/drivers/block-sync.c, at least as
> of revision 16947:f66bb3b80661 of Xen 3.2, it looks like there's a
> slight logic error: this line is where the open() system call is
> repeated without O_DIRECT (in case O_DIRECT fails), but instead of
> passing in o_flags as the second parameter, O_RDWR|O_LARGEFILE is passed
> directly.



tapdisk: in case O_DIRECT fails, retry again with o_flags but O_DIRECT,
instead of fixed value O_RD_WR | O_LARGEFILE

Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>

diff -r 06d80308aa2e tools/blktap/drivers/block-sync.c
--- a/tools/blktap/drivers/block-sync.c Thu Jul 10 19:23:55 2008 +0100
+++ b/tools/blktap/drivers/block-sync.c Fri Jul 11 11:21:58 2008 +0100
@@ -129,7 +129,7 @@
 
                 /* Maybe O_DIRECT isn't supported. */
                o_flags &= ~O_DIRECT;
-                fd = open(name, O_RDWR | O_LARGEFILE);
+                fd = open(name, o_flags);
                 if (fd != -1) DPRINTF("WARNING: Accessing image without"
                                      "O_DIRECT! (%s)\n", name);
 

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.