1 #include "logfsos.h"
2 #include "logfs.h"
3 #include "nandfs.h"
4 #include "local.h"
5
6 int
nandfscalcformat(Nandfs * nandfs,long base,long limit,long bootsize,long * baseblock,long * limitblock,long * bootblocks)7 nandfscalcformat(Nandfs *nandfs, long base, long limit, long bootsize, long *baseblock, long *limitblock, long *bootblocks)
8 {
9 *baseblock = (base + nandfs->rawblocksize - 1) / nandfs->rawblocksize;
10 if (limit == 0)
11 *limitblock = nandfs->limitblock;
12 else
13 *limitblock = limit / nandfs->rawblocksize;
14 *bootblocks = (bootsize + nandfs->rawblocksize - 1) / nandfs->rawblocksize;
15 if (*bootblocks < 3)
16 *bootblocks = 3;
17 /* sanity checks */
18 if (*limitblock > nandfs->limitblock
19 || *baseblock < nandfs->baseblock
20 || *bootblocks > nandfs->limitblock - nandfs->baseblock)
21 return 0;
22 return 1;
23 }
24
25