add flushpart; avoid O_DIRECT on linux
This commit is contained in:
parent
7e4524011b
commit
e46cacb0ea
10 changed files with 39 additions and 21 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue