Index: branches/fat32-0.9/src/fat32.kor =================================================================== --- branches/fat32-0.9/src/fat32.kor (revision 72) +++ branches/fat32-0.9/src/fat32.kor (revision 73) @@ -1796,8 +1796,8 @@ - /FS ¿Í /EAS °¡ ÇÔ22 »ç¿ëμÉ ¶§, MOVE ¿Í REN ží·ÉÀÌ EA ÆÄÀÏÀ» ¿Ã1Ùž£°Ô -Ã3ž®ÇÏÁö ŸÊŸÒœÀŽÏŽÙ. ÇØ°á. + Ã3ž®ÇÏÁö ŸÊŸÒœÀŽÏŽÙ. ÇØ°á. - /FL(±âo»)ÀÌ »ç¿ëμÉ ¶§, FillDirEntry ¿¡Œ­ 8.3 ÀÌž§°ú ±ä ÀÌž§ÀÌ °°Ào ÆÄÀÏÀ» -°¡ž®Å2ŽÙŽÂ °ÍÀ» ŸËÁö žøÇÕŽÏŽÙ. ÇØ°á. + °¡ž®Å2ŽÙŽÂ °ÍÀ» ŸËÁö žøÇÕŽÏŽÙ. ÇØ°á. - /EAS °¡ »ç¿ëμÇÁö ŸÊÀžžé, ÀÌÁŠ FAT32.IFS ŽÂ oó EA žŠ žŠ 3ѰÜÁÝŽÏŽÙ. @@ -1810,5 +1810,5 @@ - /FS °¡ »ç¿ëμǰí, Žë»ó ÆÄÀÏÀÌ ÀÌ1Ì ÁžÀçÇÑŽÙžé, COPY ¿Í MOVE ží·ÉÀo Žë»ó -ÆÄÀÏÀÇ ÀÌž§À» ÀÌ1Ì ÁžÀçÇÏŽÂ ÆÄÀÏÀÇ ÂaÀo ÀÌž§Àž·Î 1Ù2ߎώÙ. ÇØ°á. + ÆÄÀÏÀÇ ÀÌž§À» ÀÌ1Ì ÁžÀçÇÏŽÂ ÆÄÀÏÀÇ ÂaÀo ÀÌž§Àž·Î 1Ù2ߎώÙ. ÇØ°á. - FS_COPY ¿¡Œ­ 'Žë»óÀ» °Ë»çÇÏŽÂ oÎoÐ' ÀÇ 1ú·1žŠ ÀâŸÒœÀŽÏŽÙ. @@ -1817,5 +1817,5 @@ - CMD.EXE ¿¡Œ­ CACHEF32.EXE žŠ 3¡3œ ÈÄ¿¡ 'Ÿ2±â Ä3œÃ' μ\žóÀ» ŽÙœÃ œÃÀÛÇÒ ¶§ -1®Áа¡ ÀÖŸúœÀŽÏŽÙ. ÇØ°á. + 1®Áа¡ ÀÖŸúœÀŽÏŽÙ. ÇØ°á. - CACHEF32.EXE ¿¡ 'Yes' žŠ °¡Á€Çϱâ À§ÇÑ /Y ¿ÉŒÇÀ» Ãß°¡ÇßœÀŽÏŽÙ. @@ -1828,17 +1828,17 @@ - 32K Å©±âÀÇ Å¬· ̄œoÅÍžŠ °¡Áø FAT32 ÆÄÆŒŒÇ¿¡ ×ばつŒŒœoÇÒ ¶§ Æ®·ŠÀÌ 1ß»ýÇÏŽÂ -1®ÁŠžŠ °íÃÆœÀŽÏŽÙ. + 1®ÁŠžŠ °íÃÆœÀŽÏŽÙ. - ÀÌÁŠ FAT32.IFS ŽÂ 32K ožŽÙ Å« Å©±âÀÇ Å¬· ̄œoÅÍžŠ °¡Áø FAT32 ÆÄÆŒŒÇÀ» -ž¶¿îÆ®ÇÏÁö ŸÊœÀŽÏŽÙ. + ž¶¿îÆ®ÇÏÁö ŸÊœÀŽÏŽÙ. - DBCS [0xHH5C ] ÄÚμå¿Í [1 1ÙÀÌÆ®-īŞī3a] °¡ ¿Ã1Ùž£°Ô o ̄È ̄μÇÁö ŸÊŸÒœÀŽÏŽÙ. -SBCS ¿¡ Æ÷ÇÔμÈ DBCS Ã11øÂ° 1ÙÀÌÆ®°¡ ¿Ã1Ùž£°Ô o ̄È ̄μÇÁö ŸÊŸÒœÀŽÏŽÙ. ÇØ°á. -(ÀÌÀü¿¡ 1®Œ­È­μÇÁö ŸÊŸÒœÀŽÏŽÙ.) + SBCS ¿¡ Æ÷ÇÔμÈ DBCS Ã11øÂ° 1ÙÀÌÆ®°¡ ¿Ã1Ùž£°Ô o ̄È ̄μÇÁö ŸÊŸÒœÀŽÏŽÙ. ÇØ°á. + (ÀÌÀü¿¡ 1®Œ­È­μÇÁö ŸÊŸÒœÀŽÏŽÙ.) 0.97 ÆÇ: - oñ-LVM œÃœoÅÛÀ» À§ÇÑ ÆÄÆŒŒÇ Áö¿ø ÆÐŰÁö, PARTFILT.FLT ¿Í OS2DASD.F32 žŠ -FAT32.IFS μå¶óÀÌ1ö ÆÐŰÁö¿¡Œ­ »°œÀŽÏŽÙ. + FAT32.IFS μå¶óÀÌ1ö ÆÐŰÁö¿¡Œ­ »°œÀŽÏŽÙ. - MONITOR.EXE žŠ F32MON.EXE ·Î 1Ù2ÙŸúœÀŽÏŽÙ. @@ -1853,11 +1853,11 @@ - FAT32 ÀÇ ÁŸ·á oÎoп¡ 1®Áа¡ ÀÖŸúœÀŽÏŽÙ. DBCS Áö¿øÀÌ Ãß°¡μÇŸúÀ» ¶§ œÇŒö°¡ -ÀÖŸúœÀŽÏŽÙ. ÇØ°á. + ÀÖŸúœÀŽÏŽÙ. ÇØ°á. - FAT32 μå¶óÀÌ1ö°¡, Win2X ¿Í WinXP °°Ào WinNT °è¿­ÀÇ œÃœoÅÛ¿¡Œ­ žžμéŸîÁø -ÆÄÀÏμéÀ» È®Àå ŒÓŒoÀ» °¡Áø °ÍÀž·Î ÀΜÄÇÒ Œö ÀÖŽÂ °¡ŽÉŒoÀÌ ÀÖŸúœÀŽÏŽÙ. ÇØ°á. + ÆÄÀÏμéÀ» È®Àå ŒÓŒoÀ» °¡Áø °ÍÀž·Î ÀΜÄÇÒ Œö ÀÖŽÂ °¡ŽÉŒoÀÌ ÀÖŸúœÀŽÏŽÙ. ÇØ°á. - WinNT °è¿­°úÀÇ È£È ̄ŒoÀ» À§ÇØ EA Ç\œÃ 1ÙÀÌÆ®°¡ 1Ù2îŸúœÀŽÏŽÙ. 0xEA ŽÂ 0x40, -0xEC ŽÂ 0x80 Àž·Î. + 0xEC ŽÂ 0x80 Àž·Î. Áß¿ä: 0.97 ÆÇoÎÅÍ, EA Ç\œÃ 1ÙÀÌÆ®°¡ 1Ù2îŸúœÀŽÏŽÙ. ×ばつ·¡Œ­ ÀÌÀü ÆÇ¿¡Œ­ È®Àå @@ -1871,5 +1871,5 @@ - WinNT °è¿­¿¡Œ­ »ç¿ëÇÏŽÂ FAT32 o ̄ÁŸÀ» Áö¿øÇÏμμ·Ï TranslateName() žŠ -°íÃÆœÀŽÏŽÙ. + °íÃÆœÀŽÏŽÙ. - Level7 À» ¿Ã1Ùž£°Ô Áö¿øÇÏμμ·Ï FS_PATHINFO žŠ °íÃÆœÀŽÏŽÙ. @@ -1886,13 +1886,13 @@ - CACHEF32.EXE °¡ ×ばつ¶ó¿îμå·Î œÇÇàμÉ ¶§, FAT32.IFS ÀÇ CP ¿Í ÇöÀç CP °¡ ŽÙžŠ -¶§, °èŒÓÇØŒ­ '»ß-' ŒÒž®°¡ 3aŽÂ °ÍÀ» °íÃÆœÀŽÏŽÙ. + ¶§, °èŒÓÇØŒ­ '»ß-' ŒÒž®°¡ 3aŽÂ °ÍÀ» °íÃÆœÀŽÏŽÙ. - CACHEF32.EXE ÀÇ /CP ¿ÉŒÇÀÌ ÁŠŽë·Î μ¿ÀÛÇÏÁö ŸÊŽÂ °ÍÀ» °íÃÆœÀŽÏŽÙ. - 0.98 ÆÇ¿¡Œ­ ŽëŒÒ1®ÀÚ o ̄È ̄ÀÌ 128 ožŽÙ ÀÛÀo ASCII ÄÚμå¿¡ ŽëÇØŒ­žž ÀÌ·çŸîÁöŽÂ -°ÍÀ» °íÃÆœÀŽÏŽÙ. + °ÍÀ» °íÃÆœÀŽÏŽÙ. - ¶§¶§·Î, Ÿ2±â Ä3œÃ(LAZY WRITE) ±âŽÉÀÌ ÄÑÁ® ÀÖÀ» ¶§, ÆÄÀÏÀ» o1»çÇϰí 3aŒ­ FAT -»ço»ÀÌ ÀÏÄ¡ÇÏÁö ŸÊ°Å3a 'ÀÒŸî1öž° Ŭ· ̄œoÅÍ' °¡ 3aÅž3aŽÂ 1®ÁŠžŠ °íÃÆœÀŽÏŽÙ. + »ço»ÀÌ ÀÏÄ¡ÇÏÁö ŸÊ°Å3a 'ÀÒŸî1öž° Ŭ· ̄œoÅÍ' °¡ 3aÅž3aŽÂ 1®ÁŠžŠ °íÃÆœÀŽÏŽÙ. - ÀÌÁŠ DBCS APIs ŽëœÅ¿¡ ULS APIs žŠ »ç¿ëÇÕŽÏŽÙ. @@ -1901,9 +1901,9 @@ - »óÀ§ žÞžðž®(high memory,> 16MB) ¿¡ Ä3œÃ žÞžðž®žŠ ÇÒŽçÇϱâ À§ÇØ /H ¿ÉŒÇÀ» -FAT32.IFS ¿¡ Ãß°¡ÇßœÀŽÏŽÙ. -'linalloc' 1®Áа¡ ÇØ°áμÉ Œö ÀÖÀ» °ÍÀÔŽÏŽÙ. + FAT32.IFS ¿¡ Ãß°¡ÇßœÀŽÏŽÙ. + 'linalloc' 1®Áа¡ ÇØ°áμÉ Œö ÀÖÀ» °ÍÀÔŽÏŽÙ. - FAT32 ÆÄÆŒŒÇÀÌ ŸøŽõ¶óμμ, Ÿ2±â Ä3œÃ(LAZY WRITE) μ\žóÀ» ·ÎμåÇϱâ À§ÇØ /F -¿ÉŒÇÀ» CACHEF32.EXE ¿¡ Ãß°¡ÇßœÀŽÏŽÙ. + ¿ÉŒÇÀ» CACHEF32.EXE ¿¡ Ãß°¡ÇßœÀŽÏŽÙ. - ÀÌÁŠ FAT32.IFS ŽÂ ÀÎÀÚμéÀÇ ŽëŒÒ1®ÀÚžŠ °¡ž®Áö ŸÊœÀŽÏŽÙ. @@ -1938,4 +1938,23 @@ ŒœÅÍŽÂ ÁžÀçÇÕŽÏŽÙ. ¿Ö ×ばつ·2±î¿ä ? ^^ ÇÏÁöžž, À̰ÍÀo FAT32.IFS ÀÇ ±âŽÉ¿¡ŽÂ ¿μÇâÀ» 1ÌÄ¡Áö ŸÊœÀŽÏŽÙ. + +0.9.12 ÆÇ : + +- 3a»Û »óÅÂ(DIRTY)ÀÇ oŒ·ý¿¡ ŽëÇØ CHKDSK žŠ œÇÇàœÃŰžé CACHEF32 °¡ ×ばつŽÂ 1®ÁŠžŠ + °íÃÆœÀŽÏŽÙ. + +- 0.9.11 oÎÅÍ USB ÀÌμ¿ ÀåÄ¡žŠ ¿¬°áÇßÀ» ¶§, USB ÀÌμ¿ ÀåÄ¡žŠ ÀΜÄÇÏŽÂμ\ ¿À·£ + œÃ°£ÀÌ °Éž®ŽÂ 1®ÁŠžŠ °íÃÆœÀŽÏŽÙ. + +- USB ÀÌμ¿ ÀåÄ¡žŠ 'eject' žŠ ŒöÇàÇÏÁö ŸÊ°í ÁаÅÇÏžé Æ®·ŠÀÌ 1ß»ýÇÏŽÂ 1®ÁŠžŠ + °íÃÆœÀŽÏŽÙ. + +- Àбâ/Ÿ2±â ŒoŽÉÀ» °3Œ±ÇßœÀŽÏŽÙ.( Lars ŸŸ ) + +*** ŸË·ÁÁø 1®ÁŠμé *** + +- À©μμ°°Ào OS ¿¡Œ­ USB ÀÌμ¿ ÀåÄ¡žŠ »ç¿ëÇÒ ¶§, 'Free Space' °¡ oÎÁ€È®ÇÒ Œö + ÀÖœÀŽÏŽÙ. ÀÌ ¶§¿¡ŽÂ, CHKDSK žŠ ŒöÇàÇØŒ­ ÀÌ 1®ÁŠžŠ 1Ù·ÎÀâ°Å3a, '/CALCFREE' + ×ばつÀ» ÅëÇØŒ­ ÀÌ 1®ÁŠžŠ ÇÇÇÒ Œö ÀÖœÀŽÏŽÙ. ============= Index: branches/fat32-0.9/src/fat32.txt =================================================================== --- branches/fat32-0.9/src/fat32.txt (revision 72) +++ branches/fat32-0.9/src/fat32.txt (revision 73) @@ -1,9 +1,9 @@ - => For the latest changes in FAT32.IFS please look <= - => at the bottom of this file. <= - - - - === DISCLAIMER === + => For the latest changes in FAT32.IFS please look <= + => at the bottom of this file. <= + + + + === DISCLAIMER === @@ -11,6 +11,6 @@ that I am in no way responsible for any damage or loss you may suffer. ->> You should be aware of the fact that FAT32.IFS might << ->> damage the data stored on your hard disks. << +>> You should be aware of the fact that FAT32.IFS might << +>> damage the data stored on your hard disks. << If you cannot agree to these conditions, you should NOT use FAT32.IFS ! @@ -23,8 +23,8 @@ Henk Kelder -hkelder@capgemini.nl +hkelder@capgemini.nl Certified daddy (by my kids) -My homepage for the latest version: +My homepage for the latest version: http://www.os2ss.com/information/kelder/index.html @@ -34,30 +34,30 @@ ===================== -FAT32.TXT This file. -PARTFILT.TXT A textfile about PARTFILT.FLT and DISKINFO.EXE - -FAT32.IFS The actual IFS. -CACHEF32.EXE The cache helper program. -UFAT32.DLL The module needed to run CHKDSK on FAT32 partition. -F32STAT.EXE A program to change the DIRTY flag of FAT32 +FAT32.TXT This file. +PARTFILT.TXT A textfile about PARTFILT.FLT and DISKINFO.EXE + +FAT32.IFS The actual IFS. +CACHEF32.EXE The cache helper program. +UFAT32.DLL The module needed to run CHKDSK on FAT32 partition. +F32STAT.EXE A program to change the DIRTY flag of FAT32 partitions. -MONITOR.EXE A program to monitor what FAT32.IFS is doing. - -PARTFILT.FLT A general partition filter device that allows FAT32 - partitions to be recognized by OS/2. - -OS2DASD.F32 A modified version of OS2DASD.DMD that is an - alternative for using PARTFILT.FLT. This modified - driver also allows FAT32 partitions to be recognized - by OS/2. If you want to try this please rename it to - OS2DASD.DMD and place it in your OS2\BOOT directory. - Remember to make a backup copy of the orginal! - - PLEASE NOTE: that this driver is NOT at the latest - level and will probably NOT support the latest - features like removable disks etc. - -DISKINFO.EXE A diagnose program that will scan for and show - all partitions. +MONITOR.EXE A program to monitor what FAT32.IFS is doing. + +PARTFILT.FLT A general partition filter device that allows FAT32 + partitions to be recognized by OS/2. + +OS2DASD.F32 A modified version of OS2DASD.DMD that is an + alternative for using PARTFILT.FLT. This modified + driver also allows FAT32 partitions to be recognized + by OS/2. If you want to try this please rename it to + OS2DASD.DMD and place it in your OS2\BOOT directory. + Remember to make a backup copy of the orginal! + + PLEASE NOTE: that this driver is NOT at the latest + level and will probably NOT support the latest + features like removable disks etc. + +DISKINFO.EXE A diagnose program that will scan for and show + all partitions. LIMITATIONS @@ -69,15 +69,15 @@ - You cannot BOOT from a FAT32 partition. - You cannot place the SWAPPER.DAT on a FAT32 partition. -- CHKDSK can diagnose a disk, but will only FIX lost clusters and an - incorrect free space count. For all other errors, you'll need to run +- CHKDSK can diagnose a disk, but will only FIX lost clusters and an + incorrect free space count. For all other errors, you'll need to run Windows95 and start scandisk to fix the problem. Note: CHKDSK will always convert lost clusters to files and NEVER to directories. if you want that, use SCANDISK. - The FORMAT, RECOVER and SYS commands are not supported. -- Only last access date (and not last access time) is maintained by +- Only last access date (and not last access time) is maintained by FAT32.IFS. This is similiar to Win95 (OSR2). -- Long filenames are not by default supported in DOS and Win-OS/2 sessions, - they use only the shortnames. +- Long filenames are not by default supported in DOS and Win-OS/2 sessions, + they use only the shortnames. Please see 'LONG FILENAMES IN OS/2 AND DOS SESSIONS' later is this file. @@ -88,5 +88,5 @@ maintenance tools will show non-existing drives and other nonsense. -- This version needs the native NLS support from OS/2. +- This version needs the native NLS support from OS/2. This means Warp 3 fixpack 26 or higher or Warp 4. (You must have the LANGUAGE directory) @@ -101,5 +101,5 @@ FAT32.IFS CACHEF32.EXE -F32STAT.EXE +F32STAT.EXE MONITOR.EXE @@ -109,13 +109,13 @@ (Skip the next lines if you are using Warp Server for eBusiness) Copy the following file to your \OS2\BOOT directory: -PARTFILT.FLT +PARTFILT.FLT =>Do NOT REPLACE your current OS2DASD.DMD with the version in the archive,<= -=>before you have read the remarks below about OS/2 and FAT32 and know you<= -=>MUST use this DMD. You probably do NOT NEED IT! <= +=>before you have read the remarks below about OS/2 and FAT32 and know you<= +=>MUST use this DMD. You probably do NOT NEED IT! <= Make the following changes to the CONFIG.SYS: -IFS=x:\OS2\FAT32.IFS [options, see below] +IFS=x:\OS2\FAT32.IFS [options, see below] (Install this one AFTER IFS=HPFS.IFS) @@ -124,8 +124,8 @@ (Skip the next lines if you are using Warp Server for eBusiness) -BASEDEV=PARTFILT.FLT /P 0B [/W] +BASEDEV=PARTFILT.FLT /P 0B [/W] (The /W should not be specified if you do not want write access) (The best location seems to differ depening on your configuration. Some -state FAT32.IFS will only work is PARTFILT is the first basedev, other +state FAT32.IFS will only work is PARTFILT is the first basedev, other claim it only works if PARTFILT is the last one.) @@ -142,32 +142,32 @@ The following options are supported: -/Q Quiet, not messages. +/Q Quiet, not messages. /CACHE:nnnn specifies the cache size in kilobytes. If omitted the default - cache size is 1024KB. Maximum cache size is 2048KB. - *NOTE* - Cache memory is allocated as FIXED memory, so if you have less - than 16MB I suggest you set this option to 512KB or less. - -/MONITOR Set monitor ON by default. If omitted monitor is OFF. See - MONITOR.EXE for more information. + cache size is 1024KB. Maximum cache size is 2048KB. + *NOTE* + Cache memory is allocated as FIXED memory, so if you have less + than 16MB I suggest you set this option to 512KB or less. + +/MONITOR Set monitor ON by default. If omitted monitor is OFF. See + MONITOR.EXE for more information. /RASECTORS:n Read Ahead Sectors. - Specifies the minimum number of sectors to be read per read - action and placed in the cache. - If omitted the default differs per volume and equals the - number of sectors per cluster times 2. - The maximum treshold value used is 128. - - You should note that the actual sector IO per read action is - NOT determined by an application, but by the IFS. For FAT access - single sector reads are done. For Directory and Files IO reads - are done on a cluster base. By setting the RASECTORS you can - define the minimum number of sectors the IFS will read from disk - and place in the cache. - -/EAS Make FAT32.IFS support EXTENDED ATTRIBUTES. - -/H Use high-memory(> 16MB ) to allocate cache buffer. + Specifies the minimum number of sectors to be read per read + action and placed in the cache. + If omitted the default differs per volume and equals the + number of sectors per cluster times 2. + The maximum treshold value used is 128. + + You should note that the actual sector IO per read action is + NOT determined by an application, but by the IFS. For FAT access + single sector reads are done. For Directory and Files IO reads + are done on a cluster base. By setting the RASECTORS you can + define the minimum number of sectors the IFS will read from disk + and place in the cache. + +/EAS Make FAT32.IFS support EXTENDED ATTRIBUTES. + +/H Use high-memory(> 16MB ) to allocate cache buffer. CACHEF32.EXE @@ -179,5 +179,5 @@ - Set CACHE and READ-AHEAD parameters. - Set Longname behaviour. -- Load a CP to UNICODE translate table for longnames and the default +- Load a CP to UNICODE translate table for longnames and the default codepage. @@ -190,11 +190,11 @@ CACHEF32.EXE supports the following options: -/? Shows help. - -/Q Terminates CACHEF32. CacheF32 will be unloaded from memory, lazy - writing will stop. (Performance will degrade). - -/N Runs CACHEF32 without starting the deamon in the background, ans also - clear fForceLoad flag. +/? Shows help. + +/Q Terminates CACHEF32. CacheF32 will be unloaded from memory, lazy + writing will stop. (Performance will degrade). + +/N Runs CACHEF32 without starting the deamon in the background, ans also + clear fForceLoad flag. /D:nn Sets the DISKIDLE value. See OS/2 online help on CACHE. @@ -208,18 +208,18 @@ /L:ON|OFF Set lazy writing ON or OFF, default is ON -/P:1|2|3|4 Set priority for lazy writer. 1 is lowest, 4 is highest. - Default 1 (= idle-time). This might be handy if the lazy-writter - doesn't seem to get any CPU due to heavy system load. - -/Y Assume yes - -/S Do NOT display normal messages - -/F Force lazy write deamon to be loaded. +/P:1|2|3|4 Set priority for lazy writer. 1 is lowest, 4 is highest. + Default 1 (= idle-time). This might be handy if the lazy-writter + doesn't seem to get any CPU due to heavy system load. + +/Y Assume yes + +/S Do NOT display normal messages + +/F Force lazy write deamon to be loaded. Note 1: the /T option has been removed in version 0.83. -Note 2: if you notice that the /P options has any effect on your - situation please let me know. +Note 2: if you notice that the /P options has any effect on your + situation please let me know. Note 3: Both /FS and /FL option has been removed in version 0.98. @@ -232,8 +232,8 @@ For CHKDSK the following options are implemented: -/F Fixes problems (Currently UFAT32.DLL only fixes lost clusters, - and an incorrect free space count.) -/C Causes lost clusters to be automatically converted to files if the - drive was in an inconsistent state at boot (No questions asked). +/F Fixes problems (Currently UFAT32.DLL only fixes lost clusters, + and an incorrect free space count.) +/C Causes lost clusters to be automatically converted to files if the + drive was in an inconsistent state at boot (No questions asked). /V:1 Causes CHKDSK to show fragmented files. /V[:2] Causes CHKDSK to show details on all files checked.(default) @@ -252,5 +252,5 @@ =========== -F32STAT can be used to query the clean shutdown state of a FAT32 drive. +F32STAT can be used to query the clean shutdown state of a FAT32 drive. It also allows you to alter the clean shutdown state. You could use this feature if FAT32.IFS blocks access to the disk because it is dirty on boot, @@ -263,16 +263,16 @@ The following options exist: -/CLEAN - Inform FAT32.IFS that the disk was clean on boot and may be used. - The disk itself will be marked as clean on a succesfull shutdown. - (The internal dirty flag FAT32.IFS uses will be cleared.) +/CLEAN - Inform FAT32.IFS that the disk was clean on boot and may be used. + The disk itself will be marked as clean on a succesfull shutdown. + (The internal dirty flag FAT32.IFS uses will be cleared.) /FCLEAN - Inform FAT32.IFS that the disk was clean on boot and may be used. - The disk itself will also be marked as clean at that moment. - (The internal dirty flag FAT32.IFS uses will be cleared, but the - marking on disk will also be set ok.) - -/DIRTY - Inform FAT32.IFS to set its internal dirty flag, and mark the drive - dirty on disk. On shutdown the drive will be left dirty, so when - booting Windows 95 (OSR2) SCANDISK will be fired. + The disk itself will also be marked as clean at that moment. + (The internal dirty flag FAT32.IFS uses will be cleared, but the + marking on disk will also be set ok.) + +/DIRTY - Inform FAT32.IFS to set its internal dirty flag, and mark the drive + dirty on disk. On shutdown the drive will be left dirty, so when + booting Windows 95 (OSR2) SCANDISK will be fired. @@ -282,5 +282,5 @@ Monitor will show (most) FAT32 actions on screen. This program is intended for troubleshooting. Using F32MON will degrade performance since FAT32 must -send monitoring information to an internal buffer. This internal buffer is +send monitoring information to an internal buffer. This internal buffer is only 4096 bytes large, so if monitoring is on, but F32MON does not run, logging information is lost. This will however only occur if /MONITOR is @@ -288,5 +288,5 @@ If the /MONITOR command is not specified in the config.sys after the IFS= -statement monitoring is OFF by default, but starting MONITOR once will +statement monitoring is OFF by default, but starting MONITOR once will activate monitoring. @@ -300,5 +300,5 @@ F32MON [tracemask] [/S] -If tracemask is omitted it is set to 1. +If tracemask is omitted it is set to 1. The tracemask exists of a specific bit to show certain types of information. @@ -318,12 +318,12 @@ e.g. -You want to see both FS_xxxx calls and cache related information. As +You want to see both FS_xxxx calls and cache related information. As tracemask you should use 1 + 4 = 5. -/S - Runs without output to the screen, but only to FAT32.LOG. This is - usefull if F32MON sends so much messages to the screen that the - program can't keep up with the IFS. Using /S only sends the output - to FAT32.LOG so no time is lost in screen handling. +/S - Runs without output to the screen, but only to FAT32.LOG. This is + usefull if F32MON sends so much messages to the screen that the + program can't keep up with the IFS. Using /S only sends the output + to FAT32.LOG so no time is lost in screen handling. @@ -335,5 +335,5 @@ MAKING OS/2 RECOGNIZE FAT32 PARTITIONS. --------------------------------------- -OS/2 by itself does not recognize FAT32 partitions. This means that +OS/2 by itself does not recognize FAT32 partitions. This means that installing the IFS is useless if we can't make OS/2 recognize them. @@ -343,5 +343,5 @@ If you are using Warp Server for e-Business (AURORA) you must use the LVM to -create a Compatible volume. Do not try to use PARTFILT or the modified +create a Compatible volume. Do not try to use PARTFILT or the modified OS2DASD.DMD with this version of OS/2. @@ -350,9 +350,9 @@ ----------- -The version of OS2DASD.DMD (called OS2DASD.F32) supplied in this package is -a modified version of this driver and is NOT at the latest level. -This means that it is possible that some of the latest features in the -IBM supplied driver may not be supported. Also, when installing new -fixpacks, you should make sure that this version of OS2DASD.DMD is +The version of OS2DASD.DMD (called OS2DASD.F32) supplied in this package is +a modified version of this driver and is NOT at the latest level. +This means that it is possible that some of the latest features in the +IBM supplied driver may not be supported. Also, when installing new +fixpacks, you should make sure that this version of OS2DASD.DMD is not replaced. @@ -362,8 +362,8 @@ This version of OS2DASD.DMD has extra support for partition type 11 (hex B). -Partition type 12 (hex C), FAT32 through INT13 is NOT supported by this +Partition type 12 (hex C), FAT32 through INT13 is NOT supported by this driver. -Generally, it is not advised to use this version of OS2DASD.DMD, but to +Generally, it is not advised to use this version of OS2DASD.DMD, but to use the PARTFILT.FLT. @@ -383,11 +383,11 @@ By default Windows long file names (VFAT) are stored in UNICODE. -Since Warp 3 (fixpack 26?) OS/2 contains NLS support. -CACHEF32.EXE now calls this NLS support to create a CP to UNICODE translate +Since Warp 3 (fixpack 26?) OS/2 contains NLS support. +CACHEF32.EXE now calls this NLS support to create a CP to UNICODE translate table during startup of your system. Keep in mind that a table for only ONE codepage is loaded. Should you change codepages (using CHCP) you must rerun CACHEF32 to load a new table, but keep -in mind OS/2 keeps different codepages per session so if you use CHCP to +in mind OS/2 keeps different codepages per session so if you use CHCP to change the CP that CP is only only valid for that session. @@ -399,14 +399,14 @@ and if the disk is not shutdown properly, SCANDISK is run. -FAT32.IFS also supports this feature. When CACHEF32 is called from the +FAT32.IFS also supports this feature. When CACHEF32 is called from the config.sys, it checks, via a call to the IFS the state of each FAT32 drive. -For each drive that is not shutdown properly, CHKDSK is fired. If no errors -are found, or if only lost clusters where found and repaired, the drive is -marked ok. +For each drive that is not shutdown properly, CHKDSK is fired. If no errors +are found, or if only lost clusters where found and repaired, the drive is +marked ok. If CHKDSK cannot solve the problem, the drive state is left dirty, and -NO FILES CAN BE OPENED AND NO DIRECTORIES CAN BE ADDED OR REMOVED. +NO FILES CAN BE OPENED AND NO DIRECTORIES CAN BE ADDED OR REMOVED. Shutting down the disk, leaves the disk marked as not properly shutdown. -You should boot Windows 95 and run SCANDISK on the drive to fix the +You should boot Windows 95 and run SCANDISK on the drive to fix the remaining problems. @@ -423,5 +423,5 @@ - The free space is not available on the disk. -FAT32.IFS will internally keep track of the free space and update it on disk +FAT32.IFS will internally keep track of the free space and update it on disk on shutdown. @@ -430,18 +430,18 @@ ----------- -All of the code is in plain 16 bits C (All of OS/2's IFS's are 16 bits!). +All of the code is in plain 16 bits C (All of OS/2's IFS's are 16 bits!). No assembly language code is used. -The MONITOR function takes a lot of time. Be sure to switch if off if you +The MONITOR function takes a lot of time. Be sure to switch if off if you don't need it. -You should probably experiment with the CACHEF32 options to get the best -performance for your situation. - -The default for the LAZY WRITER is idle-time priority (/P:1). +You should probably experiment with the CACHEF32 options to get the best +performance for your situation. + +The default for the LAZY WRITER is idle-time priority (/P:1). You'd might like to experiment with the /P option as well, especially if you have performance problems with FAT32.IFS. -For best performance it is advised to keep the disk as defragmented as +For best performance it is advised to keep the disk as defragmented as possible. Use Windows 95 defrag to defrag the disk. @@ -460,5 +460,5 @@ even if the name conforms to 8.3. The case will be preserved. -Last access dates are maintained by FAT32.IFS. +Last access dates are maintained by FAT32.IFS. (but not the last access time since Win95 doesn't support it) You can see these when using the detailed view of the drive object. @@ -478,11 +478,11 @@ Extended Attributes are implemented in the following manner: -For each file or directory that has extended attributes a file is created -with a name that consists of the file or directory name the EAs belongs to -followed by ' EA. SF'. So if a file called 'FILE' has extended attributes -these attributes are stored in a file called 'FILE EA. SF'. +For each file or directory that has extended attributes a file is created +with a name that consists of the file or directory name the EAs belongs to +followed by ' EA. SF'. So if a file called 'FILE' has extended attributes +these attributes are stored in a file called 'FILE EA. SF'. These EA files are given the hidden, read-only and system attributes. -FAT32.IFS will not show these files in a directory listing, but Windows 95 +FAT32.IFS will not show these files in a directory listing, but Windows 95 can show them. @@ -490,6 +490,6 @@ ------------- -Also, to speed things up a bit, each file having extended attributes is -marked by FAT32.IFS. For this mark an appearant unused byte in the directory +Also, to speed things up a bit, each file having extended attributes is +marked by FAT32.IFS. For this mark an appearant unused byte in the directory entry is used. The value for this byte is set to 0x40 for files having normal EAs, to 0x80 for files having critical EAs, and to 0x00 for files @@ -500,13 +500,13 @@ This byte (directly following the files attribute) is not modified while -running Windows 95 and neighter by SCANDISK or DEFRAG, but theoretically, +running Windows 95 and neighter by SCANDISK or DEFRAG, but theoretically, other programs running under Windows 95 could modify it. If another program sets the value to 0x00 for a file that has EAs these EAs -will no longer be found using DosFindFirst/Next calls only. The other OS2 -calls for retrieving EAs (DosQueryPathInfo, DosQueryFileInfo and +will no longer be found using DosFindFirst/Next calls only. The other OS2 +calls for retrieving EAs (DosQueryPathInfo, DosQueryFileInfo and DosEnumAttribute) do not rely on this byte. -Also the opposite could, again theoretically, occur. Files not having EAs +Also the opposite could, again theoretically, occur. Files not having EAs could be marked as having EAS. In this situation only the performance of directory scans will be decreased. @@ -515,9 +515,9 @@ -The drawbacks +The drawbacks ------------- -Currently, the drawback of using Extended Attributes is that directory -scan performance has slightly decreased. +Currently, the drawback of using Extended Attributes is that directory +scan performance has slightly decreased. The overhead on opening or accessing individual files is hardly noticable. @@ -536,9 +536,9 @@ -If you can live with the small loss in performance while doing directory +If you can live with the small loss in performance while doing directory scans it is advised you specify /EAS after the IFS line in the CONFIG.SYS. If you do not really need extended attribute support and you cannot accept -the decrease in directory scan performance then simply do not specify /EAS +the decrease in directory scan performance then simply do not specify /EAS after the IFS line in the config.sys. @@ -558,5 +558,5 @@ If not, tell me. - If you are not sure, try the /MONITOR parameter after FAT32.IFS, - and after reboot look with monitor for FS_MOUNT calls. Send me + and after reboot look with monitor for FS_MOUNT calls. Send me the results. - If a new drive letter is assigned, but FAT32.IFS fails, @@ -564,7 +564,7 @@ - If you have a TRAP, please send me the CS:IP value of the trap. -If you have a program that doesn't work or returns errors, please run -monitor.exe while you execute the program. After the error has occured, -terminate monitor and send me a message describing what the problem is, as +If you have a program that doesn't work or returns errors, please run +monitor.exe while you execute the program. After the error has occured, +terminate monitor and send me a message describing what the problem is, as detailed as possible and include the FAT32.LOG that was created by monitor. @@ -572,47 +572,47 @@ SUPPORTED IFS FUNCTIONS ======================= -FS_ALLOCATEPAGESPACE : No -FS_ATTACH : No -FS_CANCELLOCKREQUEST : No, function is implemented in the KERNEL -FS_CHDIR : Yes -FS_CHGFILEPTR : Yes -FS_CLOSE : Yes -FS_COMMIT : Yes -FS_COPY : Partly, unsupported actions are simulated by +FS_ALLOCATEPAGESPACE : No +FS_ATTACH : No +FS_CANCELLOCKREQUEST : No, function is implemented in the KERNEL +FS_CHDIR : Yes +FS_CHGFILEPTR : Yes +FS_CLOSE : Yes +FS_COMMIT : Yes +FS_COPY : Partly, unsupported actions are simulated by command shell -FS_DELETE : Yes -FS_DOPAGEIO : No -FS_EXIT : Yes -FS_FILEATTRIBUTE : Yes -FS_FILEINFO : Yes -FS_FILEIO : No -FS_FILELOCKS : No, function is implemented in the KERNEL -FS_FINDCLOSE : Yes -FS_FINDFIRST : Yes -FS_FINDFROMNAME : Yes -FS_FINDNEXT : Yes -FS_FINDNOTIFYCLOSE : Obsolete in OS/2 WARP -FS_FINDNOTIFYFIRST : Obsolete in OS/2 WARP -FS_FINDNOTIFYNEXT : Obsolete in OS/2 WARP -FS_FLUSHBUF : Yes -FS_FSCTL : Yes -FS_FSINFO : Yes -FS_INIT : Yes -FS_IOCTL : Yes - LOCK & UNLOCK, others are passed to OS2DASD. -FS_MKDIR : Yes -FS_MOUNT : Yes -FS_MOVE : Yes -FS_NEWSIZE : Yes -FS_NMPIPE : No -FS_OPENCREATE : Yes -FS_OPENPAGEFILE : No -FS_PATHINFO : Yes -FS_PROCESSNAME : Yes -FS_READ : Yes -FS_RMDIR : Yes -FS_SETSWAP : No -FS_SHUTDOWN : Yes -FS_VERIFYUNCNAME : No -FS_WRITE : Yes +FS_DELETE : Yes +FS_DOPAGEIO : No +FS_EXIT : Yes +FS_FILEATTRIBUTE : Yes +FS_FILEINFO : Yes +FS_FILEIO : No +FS_FILELOCKS : No, function is implemented in the KERNEL +FS_FINDCLOSE : Yes +FS_FINDFIRST : Yes +FS_FINDFROMNAME : Yes +FS_FINDNEXT : Yes +FS_FINDNOTIFYCLOSE : Obsolete in OS/2 WARP +FS_FINDNOTIFYFIRST : Obsolete in OS/2 WARP +FS_FINDNOTIFYNEXT : Obsolete in OS/2 WARP +FS_FLUSHBUF : Yes +FS_FSCTL : Yes +FS_FSINFO : Yes +FS_INIT : Yes +FS_IOCTL : Yes - LOCK & UNLOCK, others are passed to OS2DASD. +FS_MKDIR : Yes +FS_MOUNT : Yes +FS_MOVE : Yes +FS_NEWSIZE : Yes +FS_NMPIPE : No +FS_OPENCREATE : Yes +FS_OPENPAGEFILE : No +FS_PATHINFO : Yes +FS_PROCESSNAME : Yes +FS_READ : Yes +FS_RMDIR : Yes +FS_SETSWAP : No +FS_SHUTDOWN : Yes +FS_VERIFYUNCNAME : No +FS_WRITE : Yes @@ -622,7 +622,7 @@ Version 0.10 - Initial Version -Version 0.20 +Version 0.20 - Cache routines have been improved for performance. Removing 'old' sectors - from the cache is no longer needed. /T option for CACHEF32 has been + from the cache is no longer needed. /T option for CACHEF32 has been removed. @@ -631,5 +631,5 @@ - CHKDSK: Didn't recognize bad-sectors, has been fixed. - CHKDSK: Had problems with recognition of some type of free clusters, - has been fixed. + has been fixed. - OS2DASD.DMD: Is now based on the latest version. (December '97) @@ -653,22 +653,22 @@ - Corrected a logical error where renaming a file or directory to an existing - directory caused the file or directory to be moved into the target + directory caused the file or directory to be moved into the target directory. Now FAT32.IFS returns an error. -- Changed CHKDSK so that if an error is found in on of the FATs CHKDSK +- Changed CHKDSK so that if an error is found in on of the FATs CHKDSK continues, but ignores the /F switch. Previously, CHKDSK would not do any additional checks. -- Renaming a file or directory from the workplace shell didn't work because - of two problems: - - the WPS uses a strange algoritm to determine if the IFS supported - long file names which appearantly failed with FAT32. - This has been corrected. - - FAT32.IFS does not support EA's (yet), the WPS renames a file, tries - to write EAs and since that fails renames the file back again. - Now FAT32 returns NO_ERROR on the call used to write EAs. +- Renaming a file or directory from the workplace shell didn't work because + of two problems: + - the WPS uses a strange algoritm to determine if the IFS supported + long file names which appearantly failed with FAT32. + This has been corrected. + - FAT32.IFS does not support EA's (yet), the WPS renames a file, tries + to write EAs and since that fails renames the file back again. + Now FAT32 returns NO_ERROR on the call used to write EAs. - CHKDSK now is able to fix cross-linked clusters on the disk. - + Version 0.41 @@ -683,11 +683,11 @@ FAT32.IFS contained invalid blocks. - Fixed a (BIG) problem with files or directories with long names where - if such a file was opened in a DOS session and in an OS/2 session + if such a file was opened in a DOS session and in an OS/2 session simultaniously OS/2 was unable to see that the same file was opened. -- Fixed a problem where read-only executables could not be run. +- Fixed a problem where read-only executables could not be run. - Fixed a problem where the algoritm used to determine the highest available cluster number was incorrect. - Fixed a problem were CHKDSK was unable to fix cross-linked files. -- Since some people complained that FAT32 would sometimes hang, +- Since some people complained that FAT32 would sometimes hang, I have modified the internal semaphore mechanism so an error message will appear if a semaphore remains blocked for more than a minute. @@ -697,15 +697,15 @@ protected with a semaphore but with a per sector inuse flag. - Fixed a problem that caused INSTALL and MINSTALL to abort when FAT32.IFS - was loaded. The problem had to do with argument checking with FS_IOCTL + was loaded. The problem had to do with argument checking with FS_IOCTL calls. - Fixed a problem that BRIEF, a populair editor under OS/2, trapped or hung - itself. The problem had to do with returning improperly formatted + itself. The problem had to do with returning improperly formatted information when querying EAs (FAT32.IFS does not support EAs!) -- Corrected a serious problem when a single file was opened more than once +- Corrected a serious problem when a single file was opened more than once and the file was modified using one of the instances. The other instance(s) - didn't pick up the changes and FAT32.IFS might trap. + didn't pick up the changes and FAT32.IFS might trap. Version 0.52 -- Didn't handle closes from child processes that inherited open files +- Didn't handle closes from child processes that inherited open files properly so the final close would fail. @@ -717,5 +717,5 @@ - Changed CHKDSK to accept an /V:1 argument to only show fragmented files, while /V[:2] also lists all files. -- Made it possible that renaming a file to a new name where only the +- Made it possible that renaming a file to a new name where only the case was changed worked. @@ -731,24 +731,24 @@ Version 0.63: -- Finally understood why CHKDSK failed on very large disks. UFAT32.DLL +- Finally understood why CHKDSK failed on very large disks. UFAT32.DLL accesses the disk using DosOpen with OPEN_FLAGS_DASD. In that mode default behaviour is that the disk is accessed using physical byte offsets from the - beginning of the (logical) disk. Now since the maximum value in a 32 bit + beginning of the (logical) disk. Now since the maximum value in a 32 bit integer is 2^32 this value divided by 512 was the maximum sector that could be read (= sector 8388608 = 4Gb disk size maximum). - Now UFAT32 uses the same trick as HPFS uses, via a call to DosFSCtl disk - access is switched to sector mode so 2^32 sectors can be accessed. + Now UFAT32 uses the same trick as HPFS uses, via a call to DosFSCtl disk + access is switched to sector mode so 2^32 sectors can be accessed. This means CHKDSK can (theoretically) check disks upto 2048 gigabytes. Version 0.64: - Again a problem with CHKDSK, this time the file allocation check failed if - there were more than 65535 clusters assigned to a file. + there were more than 65535 clusters assigned to a file. - FAT32.IFS now reports fake cluster sizes and total and free cluster counts - whenever a DOS session queries free space. The maximum cluster size - returned has been set to 32 Kb and the maximum for total and free clusters + whenever a DOS session queries free space. The maximum cluster size + returned has been set to 32 Kb and the maximum for total and free clusters is 65526 clusters so the maximum disk size in dos is reported as almost 2Gb. -- Encountered (and fixed) a trap that occured whenever a volume was flushed - via a explicit call and there were still dirty sectors in call. - It occured in code I changed in version 0.60 and this was the first time I +- Encountered (and fixed) a trap that occured whenever a volume was flushed + via a explicit call and there were still dirty sectors in call. + It occured in code I changed in version 0.60 and this was the first time I trapped on it, so the combination of factors appears unlikely. - Modified FS_CHGFILEPTR so negative seeks will be handled properly and @@ -757,27 +757,27 @@ assumed they were not used. Some users reported files beeing show twice in some application so: I stand corrected and so is FAT32.IFS. -- Corrected a potential problem where (theoretically) files could be given +- Corrected a potential problem where (theoretically) files could be given a directory attribute. -- Changed the algoritme used when no large enough contiguous fat chain is +- Changed the algoritme used when no large enough contiguous fat chain is available and the fat chain has to be constructed from various chains. Before the change an algoritme searching for individual free clusters was - used. Now FAT32.IFS searches the largest free chain assigns it and then - searches for the next largest free chain until a chain long enough is - created. This is still not very fast, but will only really occur of the + used. Now FAT32.IFS searches the largest free chain assigns it and then + searches for the next largest free chain until a chain long enough is + created. This is still not very fast, but will only really occur of the disk is rather full and very fragmented. Version 0.65: - Files with valid 8.3 lowercase filenames where returned by findfirst/next - in DOS sessions in lowercase as well. Some programs don't like that. + in DOS sessions in lowercase as well. Some programs don't like that. Now findfirst/next in DOS sessions always returns an uppercase name. (This problem only occured when LFN's were hidden to DOS.) - Corrected a problem where while filling the buffer for FindFirst/Next too much data was initialized (due to using strncpy) and data was overwritten. - This was most appearant with OS/2 Commander that trapped on a FAT32 + This was most appearant with OS/2 Commander that trapped on a FAT32 directory with many files. Version 0.66: - DosSetFileInfo returned an error (ERROR_INVALID_LEVEL) when trying to write - Extended attributes. Now FAT32.IFS reports NO_ERROR (But still doesn't + Extended attributes. Now FAT32.IFS reports NO_ERROR (But still doesn't write the EA!). This makes f.i. that the installation of the OS/2 Netscape pluginpack now works properly. @@ -786,12 +786,12 @@ scan. This has been fixed. - Modified the behaviour of DosSetFileInfo so that it will only set date/time - values in the directory. Before DosSetFileInfo also set the attribute, but + values in the directory. Before DosSetFileInfo also set the attribute, but I found that this also doesn't work on HPFS, so I modified the behaviour. - Modified the default MONITOR logging so that (almost) all FS_XXXX calls are - shown with the return values given. + shown with the return values given. Version 0.70: - Most significant change is the implementation of EXTENDED ATTRIBUTES. - Currently they will only be supported if /EAS is specified after FAT32.IFS + Currently they will only be supported if /EAS is specified after FAT32.IFS in the config.sys. Please read the chapter about extended attributes. @@ -807,5 +807,5 @@ to run (without a cache - slow!) -- Received a report about a possible memory leakage problem in FAT32.IFS. +- Received a report about a possible memory leakage problem in FAT32.IFS. Changed CACHEF32.EXE so when run, it will show the number of GDT selectors currently allocated for FAT32.IFS. @@ -815,31 +815,31 @@ DOS programs never access EA's, but EAUTIL can be used in DOS sessions, and didn't work. Now it does. -- There was another problems with finding EAs when FAT32.IFS was set to the +- There was another problems with finding EAs when FAT32.IFS was set to the mode in which internally short names were used (CACHEF32 /FS). Now this seems to work properly. Version 0.72: -- Forgot build in the EA logic for creating and removing directories. Has +- Forgot build in the EA logic for creating and removing directories. Has been added. Version 0.73: -- Using DosSetPathInfo, it was possible to create an EA file for a non +- Using DosSetPathInfo, it was possible to create an EA file for a non existing file. This lead f.i. to a ' EA. SF' file in the root directory. This problem has been corrected. -- Changed a bit in the algoritm for making a short name for a file with a +- Changed a bit in the algoritm for making a short name for a file with a longname. Version 0.74: -- Corrected a problem with DosFindFirst/next when the buffer wasn't large - enough for the extended attributes and FAT32.IFS returned +- Corrected a problem with DosFindFirst/next when the buffer wasn't large + enough for the extended attributes and FAT32.IFS returned ERROR_EAS_DIDNT_FIT when more than one entry was placed in the resultbuffer. - Now FAT32.IFS returns this error only if the EA's of the first + Now FAT32.IFS returns this error only if the EA's of the first matching entry don't fit in the buffer. - (This error lead to the WPS giving an error that no matching entries were + (This error lead to the WPS giving an error that no matching entries were found on opening of a directory) Version 0.75: - Added a check for valid EA names. -- Added a translation mechanism for long filenames between the Windows +- Added a translation mechanism for long filenames between the Windows Character set and OS/2 character set. See: WINDOWS & OS/2 CHARACTER SETS for more information. @@ -852,9 +852,9 @@ - Corrected a problem when more then 512 lost chains were found. (CHKDSK can only recover 512 lost chains at one run) -- Corrected a problem in OS/2 sessions (introduced in version 0.75) where +- Corrected a problem in OS/2 sessions (introduced in version 0.75) where valid 8.3 filenames in lowercase where always stored in uppercase. Version 0.78: -- Corrected a TRAP that could occur when the cache is full with dirty +- Corrected a TRAP that could occur when the cache is full with dirty sectors and the oldest dirty single sector was flushed using a single flush routine. The trap message was 'WriteCacheSector: VOLINFO not found!'. @@ -866,7 +866,7 @@ an access violation. - Corrected a problem with DosOpen when on Opening an existing file with only - the FILE_CREATE (OPEN_ACTION_CREATE_IF_NEW) bit set (and not the FILE_OPEN - flag) the file was created while the open should fail. -- Corrected a problem that the characterset translate tables would be + the FILE_CREATE (OPEN_ACTION_CREATE_IF_NEW) bit set (and not the FILE_OPEN + flag) the file was created while the open should fail. +- Corrected a problem that the characterset translate tables would be overwritten internally leading to all kinds of funny results. (Duplicate directories etc) @@ -876,6 +876,6 @@ Version 0.79: -- Rewrote the emergency flush routine so it will handle multiple FAT32 - partitions better. +- Rewrote the emergency flush routine so it will handle multiple FAT32 + partitions better. - Made some minor modifications in UFAT32.DLL (For CHKDSK). - A trap was solved when an EA file could not be repaired @@ -889,8 +889,8 @@ bytes large. - Corrected a problem with DosOpen with the Truncate flag set and when the - target file already existed and had EAs. The open failed, but the file was + target file already existed and had EAs. The open failed, but the file was truncated and a lost cluster was created. - Created PARTFILT.TXT file about PARTFILT and DISKINFO. -- Implemented an version check between the IFS and UFAT32.DLL (for CHKDSK) +- Implemented an version check between the IFS and UFAT32.DLL (for CHKDSK) and CACHEF32.EXE. @@ -902,15 +902,15 @@ the attribute. From 16 bits programs however, this doesn't seem to work on FAT, HPFS and FAT32. Don't know why. - + Version 0.82: -- Changed a bit in the algoritm for making a short name for a file with a +- Changed a bit in the algoritm for making a short name for a file with a longname (again). Now filenames starting with a dot are handled better. -- Changed the (internal) memory handling routines to use more then one - selector so I could use this for FindFirst/Next handling instead of +- Changed the (internal) memory handling routines to use more then one + selector so I could use this for FindFirst/Next handling instead of allocation one selector per FindFirst/Next call. This was neccessary because a DOS session can fire a lot of FindFirst calls only for checking existence of files. Before the modification FAT32.IFS could run out of memory after say a couple of hundred FindFirst calls. - (I found that OS/2 itself doesn't allow a DOS session to fire more then + (I found that OS/2 itself doesn't allow a DOS session to fire more then round 500 FindFirsts. After that OS/2 starts reusing find handles.) I encountered this problem when trying to unarj the Novell Netware client @@ -923,9 +923,9 @@ and unicode. This should work better for some NLS versions of OS/2. - Added a switch to CACHEF32 to dynamically change the priority of the lazy - write thread. The default priority is still idle-time, but this can be + write thread. The default priority is still idle-time, but this can be changed to a higher priority. - Did experiment a bit with lazy writing in general. In my own system it - improved performance somewhat. -- Corrected a problem in PARTFILT where whenever a HIDDEN partition type + improved performance somewhat. +- Corrected a problem in PARTFILT where whenever a HIDDEN partition type was specified after /P this didn't always work properly. Now when a hidden partition type is specified, the unhidden type is also handled by PARTFILT. @@ -933,10 +933,10 @@ Version 0.84: - Got a message from someone complaining that the change in PARTFILT made him - loose the ability to mount hidden 'normal' partitions since PARTFILT + loose the ability to mount hidden 'normal' partitions since PARTFILT presented all partition types as IFS. Now PARTFILT show normal partitions - by their actual types and only not-by-OS/2 supported types as IFS + by their actual types and only not-by-OS/2 supported types as IFS partitions. -- Increased performance for accessing large files by keeping track of first - and last cluster for each open file, and even the current cluster for each +- Increased performance for accessing large files by keeping track of first + and last cluster for each open file, and even the current cluster for each open instance. - Removed the limit for the maximum number of open files. @@ -945,5 +945,5 @@ to allocated memory per open file. Problems I encountered were trap D's and internal fatal messages. -- Changed the way monitor works. Introduced a 'trace mask'. See MONITOR +- Changed the way monitor works. Introduced a 'trace mask'. See MONITOR above. @@ -951,10 +951,10 @@ - A user pointed me at the problem that ReadOnly files cannot be renamed. This problem has been corrected. -- Corrected a problem whenever a non-existing file was openen. If later the - file was created this could lead to a trap (at least in theory: I haven't +- Corrected a problem whenever a non-existing file was openen. If later the + file was created this could lead to a trap (at least in theory: I haven't seen it nor heard it actually occured). - Changed PARTFILT again. Whenever a hidden partition type was specified - partfilt also virtualized the unhidden type. So if /P 16 was specified, - both types 16 and 6 were virtualized. This could lead to unwanted results. + partfilt also virtualized the unhidden type. So if /P 16 was specified, + both types 16 and 6 were virtualized. This could lead to unwanted results. So I modified the mechanism again. @@ -966,10 +966,10 @@ For the partition types PARTFILT virtualizes the following rules apply: - Normal partition types (types 1, 4, 6, 7, but also 11, 14, 16 and 17) - are reported to OS/2 with their actual -unhidden- partition type. + Normal partition types (types 1, 4, 6, 7, but also 11, 14, 16 and 17) + are reported to OS/2 with their actual -unhidden- partition type. Any other partition types specified after /P are reported as un-hidden IFS - partitions. - Any other partition types NOT specified after /P are reported as their + partitions. + Any other partition types NOT specified after /P are reported as their actual -unhidden- type. @@ -980,15 +980,15 @@ Otherwise, OS/2 will not boot at all. -- CACHEF32.EXE did not properly handle the /P:x argument when specified in +- CACHEF32.EXE did not properly handle the /P:x argument when specified in CONFIG.SYS. The argument was lost. This has been fixed. Version 0.86: -- Always thought that it was not allowed to the directory bit set in +- Always thought that it was not allowed to the directory bit set in DosSetPathInfo and therefor I rejected calls with this bit set. I was wrong. Now DosSetPathInfo accepts the directory bit set (for directories only). -- Modified partfilt so it will also scan partitions inside a extended type F - partition (partfilt is now on version 1.08). Modified DISKINFO.EXE to do -the +- Modified partfilt so it will also scan partitions inside a extended type F + partition (partfilt is now on version 1.08). Modified DISKINFO.EXE to do +the same. @@ -1006,5 +1006,5 @@ - Modified CACHEF32.EXE so it will also run if UCONV.DLL cannot be loaded. If that is the case, no UNICODE translate table will be loaded. -- Solved a problem when a file was rename when on the case mapping was +- Solved a problem when a file was rename when on the case mapping was changed. If the file had extended attributes the rename failed and the EA was lost. @@ -1012,5 +1012,5 @@ Version 0.88: - DISKINFO still didn't show partitions inside an extended partition type F. -- Fixed a potential problem in the lazy write routines. This could lead to +- Fixed a potential problem in the lazy write routines. This could lead to sectors not being written when they should have. (have never seen it though) - Made it work with Fixpack 10. (FP10 made FAT32.IFS trap) @@ -1023,20 +1023,20 @@ - I've had a report from someone with a problem where the drives where mounted after CACHEF32 had queried CACHE settings. Since the cache is allocated on - first mount this didn't work. I have added a call to force the drives + first mount this didn't work. I have added a call to force the drives to be mounted before CACHEF32 queries the cache settings. - Fixed a small division by zero in CACHEF32 when the cache was zero sectors large. - Fixed the 'cannot find message file' problem in CACHEF32.EXE. -- Some users keep having troubles with 'error cannot find SH". Just for -myself +- Some users keep having troubles with 'error cannot find SH". Just for +myself I added the filename there. - Replaced an internal call (FSH_PROBEBUF) by a DevHelp call. -- Fixed a trap I got due to a reentrancy problem in my memory allocation +- Fixed a trap I got due to a reentrancy problem in my memory allocation routines. - Changed the way data is kept per open file instance because I have received - some reports from users that they got a 'ERROR: Cannot find the IO!" + some reports from users that they got a 'ERROR: Cannot find the IO!" message. - FAT32.IFS had its code segments marked as EXECUTEONLY. Now AURORA doesn't - seem to like that and traps. The code segments are no longer marked this + seem to like that and traps. The code segments are no longer marked this way but as EXECUTEREAD. @@ -1044,23 +1044,23 @@ - Found some problems with FS_COPY. If FS_COPY was copying a file the target file was not protected from being deleted or renamed in another session. -- Noticed that I had the default cache size incorrectly set to 128 Kb. +- Noticed that I had the default cache size incorrectly set to 128 Kb. Modified it to 1024 kb and added a warning message if no /CACHE argument is present. -- FS_COPY didn't check if source and target where on the same partition. (I +- FS_COPY didn't check if source and target where on the same partition. (I incorrectly assumed OS/2 did this check.). Now FS_COPY doesn't try to handle - the copy when source and target are on different drives. This way the copy + the copy when source and target are on different drives. This way the copy is done by OS/2 itself. -- Modified the way data is written from the cache to disk. Instead of +- Modified the way data is written from the cache to disk. Instead of instructing the Device Driver to write data directly from cache to disk, the data is now first copied to another memory area thereby releasing the - data in the cache a lot sooner. This way the IFS does not have to wait - for the device driver to finish before a specific sector in cache is + data in the cache a lot sooner. This way the IFS does not have to wait + for the device driver to finish before a specific sector in cache is available again. The drawback is that this makes FAT32.IFS to use more (physical) memory. - With a cache size of 2048 Kb, an additional 480 Kb is allocated. - With smaller cache sizes the additional data reduces relatively. (a cache + With a cache size of 2048 Kb, an additional 480 Kb is allocated. + With smaller cache sizes the additional data reduces relatively. (a cache size of 1024 Kb leads to an additional memory allocation of 240 Kb) - Never had any error handling (message) in the routine that is called by the - device driver to notify completion of the strategy2 request list. This + device driver to notify completion of the strategy2 request list. This version has it. This is mainly to get more light on FAT32.IFS and aurora. @@ -1068,26 +1068,26 @@ - Got a report that FAT32.IFS ignored the fourth character of the extention. Looking for the cause I found that FAT32.IFS created incorrect short name - equivalents for files with a four character long extention. + equivalents for files with a four character long extention. In that specific case the fourth character was ignored when creating - the shortname. The effect was that e.g. a file called file.1234 and + the shortname. The effect was that e.g. a file called file.1234 and file.1235 ended up having the same shortname. FAT32.IFS now - no longer exhibits this behaviour, but you still might have double - shortnames in the same directory on your disk. I don't think SCANDISK + no longer exhibits this behaviour, but you still might have double + shortnames in the same directory on your disk. I don't think SCANDISK detects this problem. Please note this could only have happened with - files having an extention of four chars for which all chars except the + files having an extention of four chars for which all chars except the fourth extention char were equal. - - To check this, set FAT32.IFS to use short names internally (CACHEF32 /FS), + + To check this, set FAT32.IFS to use short names internally (CACHEF32 /FS), and in a DOS session do a DIR command. If you detect any duplicate names, switch back to an OS/2 session and rename one of these files to another - name and then rename it back to the original name. - -- Modified the calling of the strategy2 calls. Now FAT32.IFS no longer + name and then rename it back to the original name. + +- Modified the calling of the strategy2 calls. Now FAT32.IFS no longer request confirmation per individual sector. This fixes the problems - with AURORA. - - The problem with AURORA (Warp Server for eBusiness) FAT32.IFS was + with AURORA. + + The problem with AURORA (Warp Server for eBusiness) FAT32.IFS was experiencing was caused by a bug in the Logical Volume Manager that did - not properly confirm individual requests. Since FAT32.IFS now no longer + not properly confirm individual requests. Since FAT32.IFS now no longer depends on this individual confirmation the bug is no longer relevant. IBM did confirm this bug to me (October 1999) and promissed it would be @@ -1095,13 +1095,13 @@ - Introduced a separate thread (from CACHEF32.EXE) that runs at time critical - priority. The thread is awakened whenever the cache runs full with dirty + priority. The thread is awakened whenever the cache runs full with dirty sectors and takes care of flushing these dirty sectors. -- Corrected a problem with Extended Attributes when a file had very large +- Corrected a problem with Extended Attributes when a file had very large extended attributes (almost 65536 bytes) the system would trap. - Corrected a problem when a sector towards the end of the disk was read. - Due to the read-ahead function 1 sector too far was read and the read - failed. + Due to the read-ahead function 1 sector too far was read and the read + failed. - Noticed that the diskspace under DOS was not correctly returned. The faked @@ -1110,5 +1110,5 @@ - Until this version, the strategy2 routines did not set the flag to request - the disk controller to cache the request on the outboard controller. I + the disk controller to cache the request on the outboard controller. I did not set this flag since it didn't seem to matter on my own machine. However, this version has the flag set since some of you might profit from @@ -1116,9 +1116,9 @@ - Enlarged maximum amount of data that is flushed (when lazy writing is used) - to 64 Kb. Hopefully, this will increase performance for those + to 64 Kb. Hopefully, this will increase performance for those disk controllers that do not have the on-board cache enabled. - Did an effort to solve the problem when a cluster chain becomes improperly - terminated. FAT32.IFS simply ignores the problem now and assumes end of + terminated. FAT32.IFS simply ignores the problem now and assumes end of file. CHKDSK (UFAT32.DLL) detects and corrects this problem. @@ -1127,9 +1127,9 @@ - When a FAT32 volume was not shut down properly the IFS did not allow files - to be opened. This caused device drivers etc during shutdown not being - loaded from a FAT32 volume. Now FAT32.IFS allows files to be read from a + to be opened. This caused device drivers etc during shutdown not being + loaded from a FAT32 volume. Now FAT32.IFS allows files to be read from a dirty volume. -- When a directory was moved the .. entry in that directory was not updated +- When a directory was moved the .. entry in that directory was not updated to point to the proper parent directory. This has been corrected. @@ -1146,7 +1146,7 @@ Version 0.93: -- Modified the way CHKDSK detect a bad cluster. - -- When the disk was dirty, CHKDSK was unable to rename a lost EA file to a +- Modified the way CHKDSK detect a bad cluster. + +- When the disk was dirty, CHKDSK was unable to rename a lost EA file to a proper file. This has been fixed. @@ -1162,5 +1162,5 @@ - Fixed a problem when running in 'Internal Shortname mode' that long files - were not found. + were not found. Version 0.95: @@ -1305,2 +1305,23 @@ functionality of IFS. +Version 0.9.12: + +- Fixed the problem that CACHEF32 is crashed after calling CHKDSK for dirty + volume. + +- Fixed the problem the regonition of USB removable media takes very long time + when inserting it since 0.9.11. + This is because FAT32 always calculates free space on mount. Now, FAT32 + calculates free space only if /CALCFREE specified or free space info was not + stored on disk. + +- Fixed the trap when removing USB removable media without eject. + +- Improved Read/Write performance. By Lars. + +*** Known Problems *** + +- When using USB removable media with other OS such as Windows, free space can + be incorrect. At this time, you should use 'chkdsk' to correct it or + '/CALCFREE' to avoid it. +

AltStyle によって変換されたページ (->オリジナル) /