1 a0d146ed 2005-07-12 devnull #include "stdinc.h"
2 a0d146ed 2005-07-12 devnull #include "dat.h"
3 a0d146ed 2005-07-12 devnull #include "fns.h"
6 a0d146ed 2005-07-12 devnull zeropart(Part *part, int blocksize)
8 a0d146ed 2005-07-12 devnull ZBlock *b;
9 a0d146ed 2005-07-12 devnull u64int addr;
12 27d28098 2007-04-21 devnull fprint(2, "clearing %s\n", part->name);
13 a0d146ed 2005-07-12 devnull b = alloczblock(MaxIoSize, 1, blocksize);
16 a0d146ed 2005-07-12 devnull for(addr = PartBlank; addr + MaxIoSize <= part->size; addr += MaxIoSize){
17 a0d146ed 2005-07-12 devnull if(writepart(part, addr, b->data, MaxIoSize) < 0)
18 a0d146ed 2005-07-12 devnull sysfatal("can't initialize %s, writing block %d failed: %r", part->name, w);
22 a0d146ed 2005-07-12 devnull for(; addr + blocksize <= part->size; addr += blocksize)
23 a0d146ed 2005-07-12 devnull if(writepart(part, addr, b->data, blocksize) < 0)
24 a0d146ed 2005-07-12 devnull sysfatal("can't initialize %s: %r", part->name);
26 e46cacb0 2007-04-27 devnull if(flushpart(part) < 0)
27 e46cacb0 2007-04-27 devnull sysfatal("can't flush writes to %s: %r", part->name);
29 a0d146ed 2005-07-12 devnull freezblock(b);