Blob
1 #include "stdinc.h"2 #include "dat.h"3 #include "fns.h"5 void6 zeropart(Part *part, int blocksize)7 {8 ZBlock *b;9 u64int addr;10 int w;12 fprint(2, "clearing the partition\n");14 b = alloczblock(MaxIoSize, 1);16 w = 0;17 for(addr = PartBlank; addr + MaxIoSize <= part->size; addr += MaxIoSize){18 if(writepart(part, addr, b->data, MaxIoSize) < 0)19 sysfatal("can't initialize %s, writing block %d failed: %r", part->name, w);20 w++;21 }23 for(; addr + blocksize <= part->size; addr += blocksize)24 if(writepart(part, addr, b->data, blocksize) < 0)25 sysfatal("can't initialize %s: %r", part->name);27 freezblock(b);28 }