1 #include "logfsos.h" 2 #include "logfs.h" 3 #include "nandfs.h" 4 #include "local.h" 5 6 char * 7 nandfsreformatblock(Nandfs *nandfs, long block, uchar tag, ulong path, int xcount, long *xdata, void *llsave, int *markedbad) 8 { 9 int bad; 10 char *errmsg; 11 NandfsBlockData *d; 12 long nerase; 13 14 if (nandfs->blockdata == nil) 15 return Eperm; 16 17 nerase = *(ulong *)llsave; 18 19 errmsg = nandfsformatblock(nandfs, block, tag, path, 20 nandfs->baseblock, nandfs->limitblock - nandfs->baseblock, xcount, xdata, &nerase, &bad); 21 22 if (markedbad) 23 *markedbad = bad; 24 if (errmsg) 25 return errmsg; 26 27 d = &nandfs->blockdata[block]; 28 d->tag = bad ? LogfsTbad : tag; 29 d->path = path; 30 d->nerase = nerase; 31 d->partial = 0; 32 33 return nil; 34 } 35