- buf->f_blocks = (dev->endBlock - dev->startBlock + 1) * YAFFS_CHUNKS_PER_BLOCK/
- (sb->s_blocksize/YAFFS_BYTES_PER_CHUNK);
+ if(sb->s_blocksize > dev->nBytesPerChunk)
+ {
+
+ buf->f_blocks = (dev->endBlock - dev->startBlock + 1) * dev->nChunksPerBlock/
+ (sb->s_blocksize/dev->nBytesPerChunk);
+ buf->f_bfree = yaffs_GetNumberOfFreeChunks(dev)/
+ (sb->s_blocksize/dev->nBytesPerChunk);
+ }
+ else
+ {
+
+ buf->f_blocks = (dev->endBlock - dev->startBlock + 1) * dev->nChunksPerBlock *
+ (dev->nBytesPerChunk/sb->s_blocksize);
+ buf->f_bfree = yaffs_GetNumberOfFreeChunks(dev) *
+ (dev->nBytesPerChunk/sb->s_blocksize);
+ }