summaryrefslogtreecommitdiffstats
path: root/src/cmd/venti/srv/index.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2007-04-27 18:14:45 +0000
committerrsc <devnull@localhost>2007-04-27 18:14:45 +0000
commite46cacb0ea9585214d69351de895e7f460f4846f (patch)
treee7d7d724205b7510d30bb53ebf03de3e26c962bd /src/cmd/venti/srv/index.c
parent7e4524011b432ca5225d9768ba7f11a377776fbf (diff)
downloadplan9port-e46cacb0ea9585214d69351de895e7f460f4846f.tar.gz
plan9port-e46cacb0ea9585214d69351de895e7f460f4846f.zip
add flushpart; avoid O_DIRECT on linux
Diffstat (limited to 'src/cmd/venti/srv/index.c')
-rw-r--r--src/cmd/venti/srv/index.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cmd/venti/srv/index.c b/src/cmd/venti/srv/index.c
index 7d477e76..a5ffeef9 100644
--- a/src/cmd/venti/srv/index.c
+++ b/src/cmd/venti/srv/index.c
@@ -144,7 +144,8 @@ wbindex(Index *ix)
return -1;
}
for(i = 0; i < ix->nsects; i++){
- if(writepart(ix->sects[i]->part, ix->sects[i]->tabbase, b->data, ix->tabsize) < 0){
+ if(writepart(ix->sects[i]->part, ix->sects[i]->tabbase, b->data, ix->tabsize) < 0
+ || flushpart(ix->sects[i]->part) < 0){
seterr(EOk, "can't write index: %r");
freezblock(b);
return -1;
@@ -498,7 +499,7 @@ wbisect(ISect *is)
freezblock(b);
return -1;
}
- if(writepart(is->part, PartBlank, b->data, HeadSize) < 0){
+ if(writepart(is->part, PartBlank, b->data, HeadSize) < 0 || flushpart(is->part) < 0){
seterr(EAdmin, "can't write index section header: %r");
freezblock(b);
return -1;