vac: fix -m bug (Myron Cheung)

This commit is contained in:
Russ Cox 2008-07-02 15:39:13 -04:00
parent a1b61b4635
commit 9b3ac17050
2 changed files with 4 additions and 5 deletions

View file

@ -408,7 +408,6 @@ dirlookup(VacFile *f, char *elem)
filefree(ff); filefree(ff);
goto Err; goto Err;
} }
fprint(2, "offset %s %lld\n", ff->dir.elem, ff->dir.qidoffset);
ff->qidoffset = f->qidoffset + ff->dir.qidoffset; ff->qidoffset = f->qidoffset + ff->dir.qidoffset;
vtfileunlock(meta); vtfileunlock(meta);
vtblockput(b); vtblockput(b);
@ -664,7 +663,7 @@ vacfilegetentries(VacFile *f, VtEntry *e, VtEntry *me)
if(me){ if(me){
if(f->msource == nil) if(f->msource == nil)
memset(me, 0, sizeof *me); memset(me, 0, sizeof *me);
if(getentry(f->msource, me) < 0){ else if(getentry(f->msource, me) < 0){
filerunlock(f); filerunlock(f);
return -1; return -1;
} }

View file

@ -616,9 +616,9 @@ vacmerge(VacFile *fp, char *name)
if(verbose) if(verbose)
fprint(2, "merging %s\n", name); fprint(2, "merging %s\n", name);
de = vdeopen(fs->root); mp = vacfsgetroot(mfs);
de = vdeopen(mp);
if(de){ if(de){
mp = vacfsgetroot(mfs);
offset = 0; offset = 0;
if(vacfsgetmaxqid(mfs, &maxqid) >= 0){ if(vacfsgetmaxqid(mfs, &maxqid) >= 0){
_vacfsnextqid(fs, &offset); _vacfsnextqid(fs, &offset);
@ -636,8 +636,8 @@ vacmerge(VacFile *fp, char *name)
vdcleanup(&vd); vdcleanup(&vd);
} }
vdeclose(de); vdeclose(de);
vacfiledecref(mp);
} }
vacfiledecref(mp);
vacfsclose(mfs); vacfsclose(mfs);
return 0; return 0;
} }