diff options
| author | rsc <devnull@localhost> | 2005-07-12 15:23:36 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2005-07-12 15:23:36 +0000 |
| commit | a0d146edd7a7de6236a0d60baafeeb59f8452aae (patch) | |
| tree | b55baa526d9f5adfc73246e6ee2fadf455e0b7a2 /src/cmd/venti/srv/zeropart.c | |
| parent | 88bb285e3d87ec2508840af33f7e0af53ec3c13c (diff) | |
| download | plan9port-a0d146edd7a7de6236a0d60baafeeb59f8452aae.tar.gz plan9port-a0d146edd7a7de6236a0d60baafeeb59f8452aae.zip | |
return of venti
Diffstat (limited to 'src/cmd/venti/srv/zeropart.c')
| -rw-r--r-- | src/cmd/venti/srv/zeropart.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/cmd/venti/srv/zeropart.c b/src/cmd/venti/srv/zeropart.c new file mode 100644 index 00000000..fe75c81d --- /dev/null +++ b/src/cmd/venti/srv/zeropart.c @@ -0,0 +1,31 @@ +#include "stdinc.h" +#include "dat.h" +#include "fns.h" + +void +zeropart(Part *part, int blocksize) +{ + ZBlock *b; + u64int addr; + int w; + + fprint(2, "clearing the partition\n"); +//fprint(2, "NOT!\n"); +//return; +//b=alloczblock(MaxIoSize, 1, blocksize); +//freezblock(b); + b = alloczblock(MaxIoSize, 1, blocksize); + + w = 0; + for(addr = PartBlank; addr + MaxIoSize <= part->size; addr += MaxIoSize){ + if(writepart(part, addr, b->data, MaxIoSize) < 0) + sysfatal("can't initialize %s, writing block %d failed: %r", part->name, w); + w++; + } + + for(; addr + blocksize <= part->size; addr += blocksize) + if(writepart(part, addr, b->data, blocksize) < 0) + sysfatal("can't initialize %s: %r", part->name); + + freezblock(b); +} |
