mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
2003-10-22 Joel Sherrill <joel@OARcorp.com>
PR 440/filesystem * src/dosfs/fat_fat_operations.c: Improve write speed with FAT12 and FAT16 filesystems. Previously merged on 4.6 branch.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2003-10-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
PR 440/filesystem
|
||||||
|
* src/dosfs/fat_fat_operations.c: Improve write speed with FAT12 and
|
||||||
|
FAT16 filesystems. Previously merged on 4.6 branch.
|
||||||
|
|
||||||
2003-10-22 Joel Sherrill <joel@OARcorp.com>
|
2003-10-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* ChangeLog: Correct line length.
|
* ChangeLog: Correct line length.
|
||||||
|
|||||||
@@ -63,9 +63,8 @@ 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;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -133,12 +132,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;
|
||||||
@@ -150,13 +149,12 @@ 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;
|
||||||
@@ -189,11 +187,9 @@ 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;
|
||||||
}
|
}
|
||||||
@@ -206,12 +202,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)
|
||||||
|
|||||||
Reference in New Issue
Block a user