Procházet zdrojové kódy

[DFS] fix the wrong field comparison in FAT mount.

bernard před 11 roky
rodič
revize
5a6ec7dcae
1 změnil soubory, kde provedl 3 přidání a 2 odebrání
  1. 3 2
      components/dfs/filesystems/elmfat/dfs_elm.c

+ 3 - 2
components/dfs/filesystems/elmfat/dfs_elm.c

@@ -25,6 +25,7 @@
  * 2012-07-26     aozima       implement ff_memalloc and ff_memfree.
  * 2012-12-19     Bernard      fixed the O_APPEND and lseek issue.
  * 2013-03-01     aozima       fixed the stat(st_mtime) issue.
+ * 2014-01-26     Bernard      Check the sector size before mount.
  */
 
 #include <rtthread.h>
@@ -122,9 +123,9 @@ int dfs_elm_mount(struct dfs_filesystem *fs, unsigned long rwflag, const void *d
 	/* check sector size */
 	if (rt_device_control(fs->dev_id, RT_DEVICE_CTRL_BLK_GETGEOME, &geometry) == RT_EOK)
 	{
-		if (geometry.block_size > _MAX_SS) 
+		if (geometry.bytes_per_sector > _MAX_SS) 
 		{
-			rt_kprintf("Block size of device is great than sector size of FAT.\n");
+			rt_kprintf("The sector size of device is greater than the sector size of FAT.\n");
 			return -DFS_STATUS_EINVAL;
 		}
 	}