summaryrefslogtreecommitdiff
path: root/components/dfs/filesystems
diff options
context:
space:
mode:
authorlizhen9880 <[email protected]>2017-04-12 14:32:12 +0800
committerlizhen9880 <[email protected]>2017-04-12 14:32:12 +0800
commitd883f7e23b810cb06267ce53d342d74e2c2aed6e (patch)
treec0161a92942a7973aeb311374a4745553b7c3116 /components/dfs/filesystems
parent3e6f64fe7a89d0a2d2f9fe31bff01d954b9b41ac (diff)
fix the f_bsize and f_blocks issue in function dfs_uffs_statfs
Diffstat (limited to 'components/dfs/filesystems')
-rw-r--r--components/dfs/filesystems/uffs/dfs_uffs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/components/dfs/filesystems/uffs/dfs_uffs.c b/components/dfs/filesystems/uffs/dfs_uffs.c
index 87517aaaf5..ba92452769 100644
--- a/components/dfs/filesystems/uffs/dfs_uffs.c
+++ b/components/dfs/filesystems/uffs/dfs_uffs.c
@@ -22,6 +22,7 @@
* 2011-10-22 prife the first version
* 2012-03-28 prife use mtd device interface
* 2012-04-05 prife update uffs with official repo and use uffs_UnMount/Mount
+ * 2017-04-12 lizhen9880 fix the f_bsize and f_blocks issue in function dfs_uffs_statfs
*/
#include <rtthread.h>
@@ -278,10 +279,9 @@ static int dfs_uffs_statfs(struct dfs_filesystem* fs,
if (index == UFFS_DEVICE_MAX)
return -DFS_STATUS_ENOENT;
- buf->f_bsize = 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;
+ buf->f_bsize = mtd->page_size*mtd->pages_per_block;
+ buf->f_blocks = (mtd->block_end - mtd->block_start + 1);
+ buf->f_bfree = uffs_GetDeviceFree(&nand_part[index].uffs_dev)/buf->f_bsize ;
return 0;
}