2003-08-05 Thomas Doerfler <Thomas.Doerfler@imd-systems.de>

PR 439/filesystem
	* src/dosfs/fat_fat_operations.c: Improve write data speed for DOSFS FAT12/FAT16 systems
This commit is contained in:
Jennifer Averett
2003-08-05 18:05:20 +00:00
parent 45b185e082
commit 92b8547be2

View File

@@ -63,8 +63,9 @@ fat_scan_fat_for_free_clusters(
if (count == 0) if (count == 0)
return rc; return rc;
if ((fs_info->vol.type & FAT_FAT32) && /*if ((fs_info->vol.type & FAT_FAT32) &&
(fs_info->vol.next_cl != FAT_UNDEFINED_VALUE)) (fs_info->vol.next_cl != FAT_UNDEFINED_VALUE))*/
if (fs_info->vol.next_cl != FAT_UNDEFINED_VALUE)
cl4find = fs_info->vol.next_cl; cl4find = fs_info->vol.next_cl;
/* /*
@@ -132,12 +133,12 @@ fat_scan_fat_for_free_clusters(
/* have we satisfied request ? */ /* have we satisfied request ? */
if (*cls_added == count) if (*cls_added == count)
{ {
if (fs_info->vol.type & FAT_FAT32) /*if (fs_info->vol.type & FAT_FAT32)
{ {*/
fs_info->vol.next_cl = save_cln; fs_info->vol.next_cl = save_cln;
if (fs_info->vol.free_cls != 0xFFFFFFFF) if (fs_info->vol.free_cls != 0xFFFFFFFF)
fs_info->vol.free_cls -= (*cls_added); fs_info->vol.free_cls -= (*cls_added);
} /*}*/
*last_cl = save_cln; *last_cl = save_cln;
fat_buf_release(fs_info); fat_buf_release(fs_info);
return rc; return rc;
@@ -149,12 +150,13 @@ fat_scan_fat_for_free_clusters(
cl4find = 2; cl4find = 2;
} }
if (fs_info->vol.type & FAT_FAT32) /*if (fs_info->vol.type & FAT_FAT32)
{ {*/
fs_info->vol.next_cl = save_cln; fs_info->vol.next_cl = save_cln;
if (fs_info->vol.free_cls != 0xFFFFFFFF) if (fs_info->vol.free_cls != 0xFFFFFFFF)
fs_info->vol.free_cls -= (*cls_added); fs_info->vol.free_cls -= (*cls_added);
} /*}*/
*last_cl = save_cln; *last_cl = save_cln;
fat_buf_release(fs_info); fat_buf_release(fs_info);
return RC_OK; return RC_OK;
@@ -187,9 +189,11 @@ fat_free_fat_clusters_chain(
rc = fat_get_fat_cluster(mt_entry, cur_cln, &next_cln); rc = fat_get_fat_cluster(mt_entry, cur_cln, &next_cln);
if ( rc != RC_OK ) if ( rc != RC_OK )
{ {
if ((fs_info->vol.type & FAT_FAT32) && /*if ((fs_info->vol.type & FAT_FAT32) &&
(fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)) (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE))*/
if(fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)
fs_info->vol.free_cls += freed_cls_cnt; fs_info->vol.free_cls += freed_cls_cnt;
fat_buf_release(fs_info); fat_buf_release(fs_info);
return rc; return rc;
} }
@@ -202,12 +206,12 @@ fat_free_fat_clusters_chain(
cur_cln = next_cln; cur_cln = next_cln;
} }
if (fs_info->vol.type & FAT_FAT32) /*if (fs_info->vol.type & FAT_FAT32)
{ {*/
fs_info->vol.next_cl = chain; fs_info->vol.next_cl = chain;
if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE) if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)
fs_info->vol.free_cls += freed_cls_cnt; fs_info->vol.free_cls += freed_cls_cnt;
} /*}*/
fat_buf_release(fs_info); fat_buf_release(fs_info);
if (rc1 != RC_OK) if (rc1 != RC_OK)