1 #include "logfsos.h" 2 #include "logfs.h" 3 #include "nandfs.h" 4 #include "local.h" 5 6 int 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