diff options
author | spew <devnull@localhost> | 2017-03-21 14:07:18 -0500 |
---|---|---|
committer | spew <devnull@localhost> | 2017-03-21 14:07:18 -0500 |
commit | 8dd9f0e97096abb6ad42c8751b336d8be6dba969 (patch) | |
tree | d546c05a0b9f81fb88a2864f7fd3902ceea5882e /sys | |
parent | 1e2d95a8038346d38f1cebeabe0ad64ea874b7fe (diff) |
hjfs: Clear all refs to zero when reaming.
And a couple clarity/formatting changes
Diffstat (limited to 'sys')
-rw-r--r-- | sys/src/cmd/hjfs/dat.h | 6 | ||||
-rw-r--r-- | sys/src/cmd/hjfs/fs1.c | 9 |
2 files changed, 7 insertions, 8 deletions
diff --git a/sys/src/cmd/hjfs/dat.h b/sys/src/cmd/hjfs/dat.h index 83359d48f..f05229a29 100644 --- a/sys/src/cmd/hjfs/dat.h +++ b/sys/src/cmd/hjfs/dat.h @@ -80,7 +80,8 @@ enum { DENTRYSIZ = NAMELEN + 4 * sizeof(ushort) + 13 + (3 + NDIRECT + NINDIRECT) * sizeof(uvlong), DEPERBLK = RBLOCK / DENTRYSIZ, OFFPERBLK = RBLOCK / 12, - REFPERBLK = RBLOCK / 3, + REFSIZ = 3, + REFPERBLK = RBLOCK / REFSIZ, }; struct BufReq { @@ -232,5 +233,4 @@ enum { /* getblk modes */ GBOVERWR = 3, }; -#define HOWMANY(a, b) (((a)+((b)-1))/(b)) -#define ROUNDUP(a, b) (HOWMANY(a,b)*(b)) +#define HOWMANY(a) (((a)+(RBLOCK-1))/RBLOCK) diff --git a/sys/src/cmd/hjfs/fs1.c b/sys/src/cmd/hjfs/fs1.c index 7cec1ff13..5331d34f3 100644 --- a/sys/src/cmd/hjfs/fs1.c +++ b/sys/src/cmd/hjfs/fs1.c @@ -106,8 +106,7 @@ getfree(Fs *fs, uvlong *r) b->refs[j] = 1; *r = l; have = 1; - } - else if(nbsend(fs->freelist, &l) <= 0) + }else if(nbsend(fs->freelist, &l) <= 0) goto found; } if(have) @@ -259,7 +258,7 @@ ream(Fs *fs) b->sb.size = d->size; b->sb.fstart = SUPERBLK + 1; fs->fstart = b->sb.fstart; - b->sb.fend = b->sb.fstart + HOWMANY(b->sb.size * 3, RBLOCK); + b->sb.fend = b->sb.fstart + HOWMANY(b->sb.size * REFSIZ); b->sb.qidpath = DUMPROOTQID + 1; firsti = b->sb.fstart + SUPERBLK / REFPERBLK; lasti = b->sb.fstart + b->sb.fend / REFPERBLK; @@ -267,7 +266,7 @@ ream(Fs *fs) c = getbuf(d, i, TREF, 1); if(c == nil) goto err; - memset(c->refs, 0, sizeof(b->data)); + memset(c->refs, 0, sizeof(c->refs)); if(i >= firsti && i <= lasti){ j = 0; je = REFPERBLK; @@ -760,7 +759,7 @@ trunc(Fs *fs, FLoc *ll, Buf *bd, uvlong size) return -1; if(size >= d->size) goto done; - blk = HOWMANY(size, RBLOCK); + blk = HOWMANY(size); while(blk < NDIRECT){ if(d->db[blk] != 0){ putfree(fs, d->db[blk]); |