From 24998851775d2d2a737a172dc614d9b5c91706dc Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 11 Mar 2004 19:14:09 +0000 Subject: Implement write buffer. --- src/cmd/venti/venti.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/cmd/venti/venti.c') diff --git a/src/cmd/venti/venti.c b/src/cmd/venti/venti.c index 6423f7fa..fc0a75b9 100644 --- a/src/cmd/venti/venti.c +++ b/src/cmd/venti/venti.c @@ -139,6 +139,7 @@ ventiserver(char *addr) Packet *p; VtReq *r; VtSrv *s; + char err[ERRMAX]; s = vtlisten(addr); if(s == nil) @@ -153,17 +154,22 @@ ventiserver(char *addr) vtrerror(r, "unknown request"); break; case VtTread: - if((r->rx.data = readlump(r->tx.score, r->tx.dtype, r->tx.count)) == nil) - vtrerror(r, gerrstr()); + if((r->rx.data = readlump(r->tx.score, r->tx.dtype, r->tx.count)) == nil){ + rerrstr(err, sizeof err); + vtrerror(r, err); + } break; case VtTwrite: p = r->tx.data; r->tx.data = nil; - if(writelump(p, r->rx.score, r->tx.dtype, 0) < 0) - vtrerror(r, gerrstr()); + if(writelump(p, r->rx.score, r->tx.dtype, 0) < 0){ + rerrstr(err, sizeof err); + vtrerror(r, err); + } break; case VtTsync: - queueflush(); + flushqueue(); + flushdcache(); break; } vtrespond(r); -- cgit v1.2.3