socsvn commit: r257157 - soc2013/zcore/head/usr.sbin/bhyve

zcore at FreeBSD.org zcore at FreeBSD.org
Mon Sep 9 14:23:55 UTC 2013


Author: zcore
Date: Mon Sep  9 14:23:54 2013
New Revision: 257157
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=257157

Log:
  add blockif_fsync and call it in handle_flush() path

Modified:
  soc2013/zcore/head/usr.sbin/bhyve/block_if.c
  soc2013/zcore/head/usr.sbin/bhyve/block_if.h
  soc2013/zcore/head/usr.sbin/bhyve/pci_ahci.c

Modified: soc2013/zcore/head/usr.sbin/bhyve/block_if.c
==============================================================================
--- soc2013/zcore/head/usr.sbin/bhyve/block_if.c	Mon Sep  9 13:56:58 2013	(r257156)
+++ soc2013/zcore/head/usr.sbin/bhyve/block_if.c	Mon Sep  9 14:23:54 2013	(r257157)
@@ -335,6 +335,14 @@
 	return (0);
 }
 
+int
+blockif_fsync(struct blockif_ctxt *bc)
+{
+
+	assert(bc->bc_magic == BLOCKIF_SIG);
+	return fsync(bc->bc_fd);
+}
+
 /*
  * Accessors
  */

Modified: soc2013/zcore/head/usr.sbin/bhyve/block_if.h
==============================================================================
--- soc2013/zcore/head/usr.sbin/bhyve/block_if.h	Mon Sep  9 13:56:58 2013	(r257156)
+++ soc2013/zcore/head/usr.sbin/bhyve/block_if.h	Mon Sep  9 14:23:54 2013	(r257157)
@@ -54,5 +54,6 @@
 int	 blockif_write(struct blockif_ctxt *bc, struct blockif_req *breq);
 int	 blockif_cancel(struct blockif_ctxt *bc, struct blockif_req *breq);
 int	 blockif_close(struct blockif_ctxt *bc);
+int	 blockif_fsync(struct blockif_ctxt *bc);
 
 #endif /* _BLOCK_IF_H_ */

Modified: soc2013/zcore/head/usr.sbin/bhyve/pci_ahci.c
==============================================================================
--- soc2013/zcore/head/usr.sbin/bhyve/pci_ahci.c	Mon Sep  9 13:56:58 2013	(r257156)
+++ soc2013/zcore/head/usr.sbin/bhyve/pci_ahci.c	Mon Sep  9 14:23:54 2013	(r257157)
@@ -428,6 +428,7 @@
 		pthread_cond_wait(&p->flush_cond, &sc->mtx);
 		p->flush_pending = 0;
 	}
+	blockif_fsync(p->bctx);
 	ahci_write_fis_d2h(p, slot, cfis, ATA_S_READY | ATA_S_DSC);
 }
 


More information about the svn-soc-all mailing list