Blob


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