diff --git a/components/dfs/filesystems/uffs/dfs_uffs.c b/components/dfs/filesystems/uffs/dfs_uffs.c index 18ab13f7eda448436af7ec94bc285a5377f83f63..1ed433dfa2eddb4df8e49a3c92348b7514e655ba 100644 --- a/components/dfs/filesystems/uffs/dfs_uffs.c +++ b/components/dfs/filesystems/uffs/dfs_uffs.c @@ -270,7 +270,7 @@ static int dfs_uffs_statfs(struct dfs_filesystem* fs, return -DFS_STATUS_ENOENT; buf->f_bsize = mtd->page_size; - buf->f_blocks = (mtd->block_size)/(mtd->page_size)* + buf->f_blocks = mtd->pages_per_block* (mtd->block_end - mtd->block_start + 1); buf->f_bfree = uffs_GetDeviceFree(&nand_part[index].uffs_dev) / mtd->page_size; diff --git a/components/dfs/filesystems/uffs/uffs_nandif.c b/components/dfs/filesystems/uffs/uffs_nandif.c index d96403a76909b8bb676826cf198c02cfe8e4a4c9..1c9f5c88f23fb882dfbd27304b6bf15356313ac7 100644 --- a/components/dfs/filesystems/uffs/uffs_nandif.c +++ b/components/dfs/filesystems/uffs/uffs_nandif.c @@ -144,7 +144,7 @@ void uffs_setup_storage( // attr->total_blocks = nand->end_block - nand->start_block + 1;/* no use */ attr->page_data_size = nand->page_size; /* page data size */ - attr->pages_per_block = nand->block_size / nand->page_size ; /* pages per block */ + attr->pages_per_block = nand->pages_per_block; /* pages per block */ attr->spare_size = nand->oob_size; /* page spare size */ attr->block_status_offs = UFFS_BLOCK_MARK_SPARE_OFFSET; /* block status offset is 5th byte in spare */ attr->ecc_opt = RT_CONFIG_UFFS_ECC_MODE; /* ecc option */