Update contrib.
3 (Made by vfebvre 17/12/2009)
6 1. DEFECT FIX: DEF143273: Mass Storage still using an obsoleted API to allocate endpoint resources
7 In cases where support for new API is detected in device capabilities, use that API to allocate endpoint resources
12 (Made by vfebvre 16/12/2009)
15 1. MINOR_CHANGE: Improve documentation for class CFsNotify concerning how big the buffer should be
18 1. DEFECT FIX: DEF143253 [Coverity]:DEADCODE and CHECKED_RETURN error in MSF00264 vtb101sf
19 2. MINOR_CHANGE: Remove a build warning in arm4 and wins introduced by fix for DEF143253
22 1. DEFECT FIX: DEF143386: t_notify_perf failure of edge use cases on gekko79
25 1. DEFECT FIX: DEF143263 FAT CheckDisk() is too slow comparing to ScanDrive()
28 1. DEFECT FIX: DEF142711: RFsPlugin needs to expose a Volume() API
33 (Made by vfebvre 15/12/2009)
36 1. MINOR_CHANGE Added two missing public headers for case when SYMBIAN_ENABLE_PUBLIC_PLATFORM_HEADER_SPLIT is used.
41 (Made by VincentF 14/12/2009)
44 1. DEF143346: Stop including platform headers in f32file.h
49 (Made by VincentF 10/12/2009)
52 1. DEFECT FIX: DEF143214 t_automounter.cpp depends on exfat which is not contributed to the foundation
55 1. DEFECT FIX: DEF143215: File server requesting a large chunk
60 (Made by VincentF 03/12/2009)
63 1. DEFECT FIX: DEF142313 excessive usage of Entry() in the file server
64 2. MINOR_CHANGE: placing RBitVector into common utilities file
67 1. DEFECT FIX: DEF143222 t_notify_perf failure
72 (Made by VincentF 27/11/2009)
75 1. DEFECT FIX: DEF143079: E32USER-CBASE 46 with Host Ms Thread3 in mass storage file system
78 1. DEFECT FIX: DEF143009 T_scn32rd2 test fails on 1MB FAT volume and no call to DoRummageDirCacheL()
81 1. DEFECT FIX: DEF142863: Public header files must not include platform or internal headers
86 (Made by Vino Jose 25/11/2009)
89 1. DEFECT FIX: DEF142837: Enable File Server client to determine if logical drive is attached to USB bus
90 2. DEFECT FIX: DEF142899: t_ext1 fails on NaviEngine UREL with USB MS drive
91 3. DEFECT FIX: DEF142900: t_dspace failing with USB Mass Storage drive
94 1. DEFECT FIX: DEF142322 FAT: CFatMountCB::IsEndOfClusterCh() implementation is not optimal
95 2. DEFECT FIX: DEF142991 Automounter FS shall comply with changes introduced in DEF142837
96 3. DEFECT FIX: DEF143023 FAT, exFAT: CDynamicDirCache::ReadL() can't handle bulk reads
99 1. DEFECT FIX: DEF142995: F32 Plugins cannot get the filename when intercepting EFsSetEntry
104 (Made by Vino Jose 05/11/2009)
107 1. DEF140485: ASSERT triggered in CCacheMemoryClient::Reset()
111 (Made by Vino Jose 04/11/2009)
114 1. DEFECT FIX: DEF142796: exFAT: CExFatMountCB::SetVolumeClean() sometimes corrupts original boot code.
117 1. DEFECT FIX: DEF142538: b_fat32 hangs when using large Mass Storage devices
118 2. DEFECT FIX: DEF141812: F32TEST T_NOTIFY_MFS on Unicore SMP (Naviengine) Image
119 3. DEFECT FIX: DEF142590: Test hanging in usb host mass storage file system
122 1. DEFECT FIX: DEF141402: File server trace LDD causes zombie thread to remain in existence forever
125 1. DEFECT FIX: DEF142406: T_FMAN and T_FSYS failing on X86 (T_fman.cpp:105 & T_fsys.cpp:570)
126 2. MINOR_CHANGE: Correctly labelled tests in T_FMAN
131 (Made by Vino Jose 29/10/2009)
134 1. DEFECT FIX: DEF142713 RFs::NotifyDismount() has behaviour which is not documented
137 1. DEFECT FIX: PDEF142695: unwanted disk space check when RFile::Att or RFile::Modified is called
140 1. MINOR CHANGE: /smassstorage/inc/cusbmassstoragescheduler.h is test file so moved to /f32test/smassstorage/inc/
141 2. DEFECT FIX: DEF142701: suspend not entered with large USB mass storage device after formatting
142 3. DEFECT FIX: DEF142703: Improve use of buffers in TBlockTransfer
147 (Made by Vino Jose 22/10/2009)
150 1. DEFECT FIX: DEF142065: F32 Plugins can be removed whilst still being in use
153 1. MINOR_UPDATE: Separating source code for 'sfat' and 'sfat32' components
158 (Made by Vino Jose 21/10/2009)
161 1. DEFECT FIX: DEF142394: File server uses excessively sized heap
165 (Made by Vino Jose 13/10/2009)
169 1. MINOR CHANGE: Remove TCB from t_fsysbm
170 2. DEFECT FIX: DEF141910: Usbmsapp does not correctly support OTG environments
171 3. DEFECT FIX: DEF142293: [OTG] Host Ms Thread1 crashes when connecting large capacity USB stick to phone
172 4. DEFECT FIX: DEF142428: Buffer allocation can be improved in CUsbHostMsLogicalUnit
175 1. DEFECT FIX: DEF142328: make use efat32.fsy by default
179 (Made by Vino Jose 07/10/2009)
182 1. DEFECT FIX: DEF142383: USB connection does not work after an OTG device is connected
184 1. DEFECT FIX: DEF142169: File Server crash observed on the NE1_TB.ARMV5.UREL.SMPDATAPAGE configuration
190 (Made by Vino Jose 06/10/2009)
193 FinalDS: SymTB9.2, GT0419, MS3.35, DS.1759 CR1993 Improve Performance of PREQ2083 NGFS
195 CR1993 Improve Performance of PREQ2083 NGFS
199 (Made by Vino Jose 01/10/2009)
202 1. DEFECT FIX: DEF141687: F32TEST T_COMPAT32 on all platforms
205 1. FinalDS: SymTB9.2, GT0419, MS3.39, DS.1823 CR2075 " Auto-mount exFAT storage media"
206 Change Requests: CR2075 Auto-mount exFAT storage media
207 Other: New COMPONENT: 169 Automounter
211 (Made by Vino Jose 24/09/2009
214 1. DEFECT FIX: PDEF142179: Qt applications take 15 seconds to load if libraries are installed on E:
215 Improve performance of the loader when loading already-loaded binaries from removable media.
218 1. MINOR_CHANGE: Break down T_PAGELDRTST into smaller test units to prevent timeouts
224 (Made by Vino Jose 21/09/2009)
227 1. DEFECT FIX: DEF141409: File Server crashes when disconnecting Host USB
230 1. DEFECT FIX: DEF141517: ONB - F32TEST Plugin_Framework_Version_2_Test Hanging on navi smp WDP
231 Original problem was locking the semaphore twice which caused it to hang.
232 Fixing this revealed a further problem of transferring requests when the session was being closed.
234 1. DEFECT FIX: DEF141874: [Coverity]:UNINIT,SYMBIAN.CLEANUP_STACK,REVERSE_INULL,ORDER_REVERSAL
237 1. DEFECT FIX: DEF141046: File Server Coverity
244 (Made by Vino Jose 16/09/2009)
247 1. DEFECT FIX: DEF141046: File Server Coverity
253 (Made by Vino Jose 04/09/2009)
256 1. DEFECT FIX: DEF141046: File Server Coverity
258 2. DEFECT FIX: DEF141650: Host USB Mass Storage is SMPSAFE
261 1. DEFECT FIX: DEF141785 extra data copying in FAT LeafDir cache methods calls
262 2. MINOR_CHANGE: Added the ability to dump names of opened objects on media formatting
267 (Made by Vino Jose 02/09/2009)
270 1. DEFECT FIX: DEF141591 RFormat shall allow forced media formatting even if volume has files opened.
275 (Made by Vino Jose 27/08/2009)
278 1. MINOR_CHANGE: Missing distribution.polocy.s60 files
281 1. DEFECT FIX: DEF141520: t_fman: test of CFileMan::Move() with long filenames is incorrect
282 Enabled SetupDirectoryForMove() to return an error code
286 (Made by Vino Jose 21/08/2009)
289 1. DEFECT FIX: DEF126357: NAND User Data FAT drves should be scanned on mounting
290 2. DEFECT FIX: DEF141595: exFAT CExFatDirCB::ReadL() processes iPending incorrectly.
293 1. MINOR_CHANGE: Test code compile fixes in preparation for when spilt headers are enabled.
298 (Made by Vino Jose 18/08/2009)
301 1. DEFECT FIX: DEF141046: File Server Coverity
305 1. DEFECT FIX: DEF140473: T_LDRTST fails on 34xx in both paged and non-paged configs (t_ldrtst.cpp:636)
306 Replaced hard-coded system drives in test with RFs::GetSystemDriveChar()
309 1. DEFECT FIX: DEF141239: T_RDSECT intermittently fails to read correct number of bytes(t_rdsect.cpp:831)
316 (Made by Vino Jose 18/08/2009)
319 1. DEFECT FIX: DEF141474: USB Host write access to MMC cards doesn't work properly
320 2. DEFECT FIX: DEF141499: Host USB Mass Storage fails to mount corrupted MMC card
321 3. MINOR_CHANGE: Add trace to USB disconnection notification
325 (Made by Vino Jose 14/08/2009)
328 1. FileServer to support surrogate pairs outside BMP
329 PartialDS: SymTB10.1, DS.1489 PREQ2471 TI18N enhance EUser library to support Unicode 5.0
330 Requirements: PREQ2471 UTF-16 compliant text handling
335 (Made by VincentF 11/08/2009)
338 1. DEFECT FIX: DEF141341: CFileCache::IsDirty() requires more locking
343 (Made by Vino Jose 07/08/2009)
346 1. DEFECT FIX: DEF141166: [FSrvPerf] Optimizations on RFs::Connect()
349 1. DEFECT FIX: DEF141421: File Relocation Changes may break components using kern_ext.mmh
354 (Made by Vino Jose 04/08/2009)
357 1. DEFECT FIX: PDEF141350: Security Issue in File Server
362 (Made by Vino Jose 03/08/2009)
366 1. DEFECT FIX: DEF140772: File server is not suspending MS device properly
369 1. MINOR_CHANGE: Fix t_notifydismount for Host USB Mass Storage
372 1. MINOR_CHANGE: Changed OS_LAYER_SYSTEMINCLUDE to OS_LAYER_SYSTEMINCLUDE_SYMBIAN.
375 1. DEFECT FIX: DEF135837: ONB failures of T_ENCPLUGIN on NaviEngine
376 The encryption_plugin / xorencryptionplugin was trying to save a list
377 of encrypted files to the system drive. When the system drive was a ram disk
378 this was failing as plugins cannot write to drives which do not support local buffers.
383 (Made by Vino Jose 28/07/2009)
387 1. DEFECT FIX: DEF139855: Dismountiing a file system with clamped files & dirty data behaves unexpectedly
391 (Made by Vino Jose 21/07/2009)
394 1. DEF140849: RFs::GetMediaSerialNumber() panics with USB Ms drive
395 2. INC141147: Improper Mass Storage Error Code for Empty Drive
398 1. DevCR: SLEH-7RDDHP Peripherals, GT0419 Base Duranduran, F32 to use FATCharsetConv plug-ins
399 The new file server plug-in framework enables variant creators to choose any load
400 code page dll to be explicitly without the need of any locale dll. A test code is
401 provided to create and load test cp932.dll explicitly.
404 (Made by Vino Jose 20/07/2009)
407 1. FinalDS: SymTB9.2, GT0419, MS3.31, DS.1749 exFAT MasterSF release
408 Requirements: PREQ2083 Next generation file system
409 Other: Impacted Components 168 exFAT File System
414 (Made by Vino Jose 14/07/2009)
417 1. DEFECT FIX: PDEF140507: Fileserver misses intercepts for EFsFormatSubClose message
418 2. DEFECT FIX: DEF140718: Example code error in CFileMan document
419 3. DEFECT FIX: DEF140656: CFileMan::Copy and CFileMan::Move use wrong trace attributes.
420 4. DEFECT FIX: PDEF140677: ASSERT triggered in the FAT Directory cache Version
423 1. DEF140928 File server functionality is broken as a result of DEF138883
430 (Made by Vino Jose 10/07/2009)
433 1. MILESTONE: SymTB9.2, GT0419, MS3.36, DS.1815 PREQ2621 System Architecture Relocating header files - K&HS support
438 (Made by Vino Jose 08/07/2009)
441 1. DEFECT FIX: DEF140666: T_Notifier failure on sfdev intermittantly
442 Checked for no cache or write-through in CFsMessageRequest::DoNotify() for EFsFileWrite
448 (Made by Vino Jose 02/07/2009)
451 1. DEFECT FIX: DEF140552: No notification when moving file from non-monitored folder to monitored folder
452 With rename notifications, the destination was not being checked against the notification filter.
453 2. DEFECT FIX: DEF140566: F32 Notification framework panics when copying a file btn drives using CFileMan
454 From time to time CFsRequest.Message().Function returns the wrong thing. Changed to uise the preferred FsFunction.
455 3. MINOR_CHANGE: Fix for directory notifications whereby MkDirAll is used with a filename at the end of the path, which can match against filters unexpectedly.
456 Whole path is sent to file server, so notification framework was looking at that rather than 'ignoring any filenames specified' as RFs::MkDirAll suggests.
461 (Made by VincentF 26/06/2009)
464 1. DEFECT FIX: DEF138883: API RFile::Lock() fails for greater offset than 2^32
465 2. INTERFACE CHANGE: BR2806.1 SFileShareLock structure shall not be publishedPartner
468 1. DEFECT FIX: PDEF140556: Phone does not start up - Estart regression caused by DEF139400
469 Set pointer to EOF if line does not have '\n'
470 Also able to handle DOS/Unix estart.txt files with empty lines at the beginning
473 1. DEFECT FIX: DEF139730: Coverity - UNINIT,REVERSE_INULL,OVERRUN_STATIC,FORWARD_NULL,DEADCODE
474 Fixed CIDS: 33678, 33674, 33698, 33749. Rest are rejected as False Positives
477 1. DEFECT FIX: PDEF140510: Autodetection in estart ignore a drive insertted corrupt media
478 Propagated fixes from 9.4 branch.
481 1. MINOR CHANGE: Extend husbconsapp user interface to support multiple USB MS devices.
486 (Made by Vino Jose 22/06/2009)
489 1. DEFECT FIX: DEF140387: Clients of CFsNotify can receive two sucesssive overflow notifications
490 When re-issueing a request after overflow, the counters were not being updated correctly resulting in
491 a potential for successive overflow notifications.
494 1. DEFECT FIX: DEF135563: File creations should avoid unnecessary DoRummageDirCacheL() operation
498 (Made by Vino Jose 19/06/2009)
501 1. DEFECT FIX: DEF140435: File Server plugins intercepting EFsFileSubClose can cause a KERN-EXEC 44
505 (Made by Vino Jose 19/06/2009)
508 1. MINOR CHANGE: Change to use quick format in t_scn32dr1.cpp (f32test)
509 2. MINOR CHANGE: Remove unused Format() from t_sess.cpp (f32test)
512 1. DEFECT FIX: PDEF140320: PPIA-7SF8Z5 Claendar content disappear when using MfE
513 2. DEFECT FIX: DEF139855: Dismountiing a file system with clamped files & dirty data behaves unexpectedly
514 3. INTERFACE CHANGE: BR2820.1 Prevent three internal TDrive methods from being exported unnecessarily
518 1. MILESTONE: SymTB10.1, GT0472, MS3.6, DS.1737: PREQ1967 Embedded MMC v4.3
521 1. DEFECT FIX: PDEF140211: estart log does not give enough information
525 (Made by Vino Jose 12/06/2009)
528 1. MINOR CHANGE: CR1970: Adding missing S60 distribution files and correcting IDs.
529 2. MINOR CHANGE: CR1994: Updating incorrect copyright headers.
530 3. MINOR CHANGE: CR1970: Removing orphaned S60 distribution files copied from symtb91.
534 (Made by Vino Jose 11/06/2009)
537 1. DEFECT FIX: DEF139382: File Server memory leak
539 1. DEFECT FIX: PDEF139239: CFileMan async functions not clear what happens on error
542 1. MINOR_CHANGE: Remove unused file - /f32test/server/t_std.h
543 2. MINOR_CHANGE: Move FsBarrier definition to /f32test/fileutils/src/fs_utils.cpp
546 1. MILESTONE: SymTB10.1, GT0472, MS3.8, DS.1751 EI0038: USB Mass Storage Client Shared Memory Chunks
547 Engineering Changes: EI0038 USB Mass Storage Client Shared Memory Chunks
552 (Made by Vino Jose 08/06/2009)
555 1. DEFECT FIX: PDEF139900: ESTART.TXT parsing does not cope with linux-style line endings
556 Checked for DOS line ending to support both DOS and Unix formats
557 Note that variants need to be rebuilt if Unix-style estart.txt files are to be used
564 (Made by Vino Jose 02/06/2009)
566 1. DEFECT FIX: DEF139176: Remove unused API defined for EFsRawDiskCaps
568 1. DEFECT FIX: DEF135405: FS Tests assume presence of media devices
569 Modify f32 test framework code to give human-readable errors as well as numerical error codes
570 for situations where previous tests have hung / corrupted media and/or where
571 corrupted/defective media have been detected.
572 2. MINOR_CHANGE: Add RUNEXEC command to text shell.
573 For manual testing, to reproduce intermittend failures.
574 Invokes a command repeatedly. See "RUNEXEC /?" for instructions.
577 1. MINOR_CHANGE: f32test re-org. Move FAT tests to /f32test/filesystem/fat
579 1. DEFECT FIX: DEF139837: t_ms_mountstart fails
585 (Made by Vino Jose 01/06/2009)
587 1. DEFECT FIX: PDEF139441 File Server heap corruption caused by CDirCache
589 1. DEFECT FIX: PDEF139326: Ejecting memory card can cause deadlock
591 1. MILESTONE: SYMTB9.2, Base Duranduran, GT0419, MS3.26, PREQ2540: Kernel & HWS: Prepare "LFFS" NOR Flash File System TPIP for Symbian Foundation
592 2. INTERFACE CHANGE: BR2729.2 Removal of lffs file system and lffs specific tests
597 (Made by Sergei Trofimov 28/05/2009)
600 1. PREQ2621, DS.1698: relocating header files.
602 1. DEFECT FIX: DEF137804: T_FSYS fails on 34XX_SDP.ARMV5
607 (Made by Vino Jose 20/05/2009)
610 1. MILESTONE: SymTB10.1, GT0472, MS3.3, DS.1579 PREQ1847: Enhanced File Server change notification
613 PREQ1847 Enhanced File Server change notification
616 1. DEFECT FIX: PDEF137716 : TTG:<On moving a FOLDER, FOLDER will be disappeared>
617 2. DEFECT FIX: PDEF137719 : TTG:<wrong error code on moving folder>
622 (Made by GeorgeSin 19/05/2009)
625 1. DEFECT FIX: DEF139010: File Server faults if trace LDD missing
626 2. DEFECT FIX: DEF139382: File Server memory leak
631 (Made by George Sin 12/05/2009)
634 1. DEFECT FIX: DEF138141: RFs::Entry flushes the file cache unnecessarily
635 2. DEFECT FIX: DEF138853: Asynchronous read request handling is not multi-thread safe
638 1. DEFECT FIX: DEF136928: T_FSCHED fails on UDEB versions of 34XX_SDP in BTB
643 (Made by George Sin 07/05/2009)
646 1. DEF138336: SMP + Data Paging T_REAPER I fails: failed check at line number 256
650 (Made by George Sin 29/04/2009)
653 1. DEFECT FIX: DEF137917: usbhostmssrv.exe panic sometimes plug in and pull out USB flash disk
654 2. DEFECT FIX: PDEF134548: Host mass storage test on locking/unlocking media test fails
657 1. DEF138332: SMP + Datapaging T_FSCHED I fails:T_FSCHED failed check 21 in \os\kernelhwsrv...
658 TestClientDies does not wait for all I/O operations initiated by the threads it
659 kills to finish before calling CheckDisk so the the disk is locked. We now use
660 CLOSE_AND_WAIT with a destruction notifier to ensure completion.
664 (Made by George Sin 28/04/2009)
667 1. MINOR_CHANGE: Change description in sl_std.h from f32 to fileserver
672 (Made by George Sin 21/04/2009)
675 1. DEFECT FIX: DEF135638 T_FALSESPACE fails on NE1_TB.ARMV5
678 1. DEFECT FIX: DEF138395: husbconsapp test app doe not support discconnect of multiple LUNs or devices
681 1. MILESTONE: GT0419,Base Duranduran,MS3.22 PREQ2498 Splitting mixed header files
682 PREQ2498 Splitting "mixed" header files - Kernel & Hardware Services
683 CR1944 PREQ2498 "Splitting "mixed" header files - Kernel & Hardware Services" to scope of SymTB
685 BR2748.10 Splitting "mixed" header files - Kernel & Hardware Services (F32)
689 (Made by GeorgeSin 17/04/2009)
692 1. DEV CR: SLEH-7NCEGZ: Kernel, GT0419 Base Duranduran, Create new USB testclient and Host test suite
696 (Made by GeorgeSin 14/04/2009)
699 1. MINOR_CHANGE: pulling restricted\exfat branch from the old dev1 into sfdev
702 1. DEFECT FIX: PDEF137626: Connectivity: Phone reboots automatically when connecting to PC via USB after pl
707 (Made by GeorgeSin 09/04/2009)
710 1. DEFECT FIX: DEF136692 ScanDrive shall finalise the drive after successul run.
711 2. DEFECT FIX: DEF137590 emulator elocal.fsy shall detect windows file system used as emulator drive C:
717 (Made by GeorgeSin 08/04/2009)
720 1. DEFECT FIX: DEF137105: Duplication of header files in sf_svr.cpp.
725 (Made by GeorgeSin 23/03/2009)
728 1. DEFECT FIX: DEF136511 CDataCache64 and CLruCache code in FAT implementation is redundant.
731 1. DEFECT FIX: DEF136708: Host USB Mass Storage panics t_notifydismount
732 2. DEFECT FIX: DEF136710: Host USB Mass Storage Size of partitioned drive is incorrect
735 1. DEFECT FIX: DEF135299 t_fsys fails on lubbock, integrator and some other platforms
740 (Made by George Sin 18/03/2009)
743 1. DEFECT FIX: PDEF136759: t_ramstress should not be included in f32test.auto.bat
747 (Made by George Sin 13/03/2009)
751 1. DEFECT FIX: PDEF136339: Incorrect length parameter checking in File Server
754 1. Milestone: Base Meteora, GT0339, MS3.21, DS.1449 PREQ1235 Remove "SSR" Flash Translation Layer
757 1. DEFECT FIX: DEF133800: T_LDRTST times out
758 The kernel heap leak reported is that of a misc notifier (runtests makes a call to NotifyDestruction)
759 that is only deleted after EFile has already called HeapMarkEnd. The memory is not really leaked.
760 Runtests now allocates the destruction notifier early so that it will not affect the kernel heap's
761 memory leak checking because it will be allocated before any HeapMarkStart.
764 1. DEFECT FIX: DEF136360: Host USB Mass Storage: CUsbHostMsProxyDrive::Initialise() should check for media
765 2. DEFECT FIX: DEF135931: Host Mass Storage USB fails USB client tests
768 1. DEFECT FIX: DEF136225: void CFatMountCB::InitializeL() shall check the amount of cluster on the volume
769 2. MINOR_CHANGE: Updated F32 performance tests scripts
772 1. DEFECT FIX: PDEF136028: USB mass storage system wide deadlock
776 (Made by GeorgeSin 10/03/2009)
779 1. DEFECT FIX: PDEF134733: ONB F32 test failures on onenand platform (on MMC drive accesses)
782 1. DEFECT FIX: DEF134135: Changing the settings for the directory cache in estart.txt doesn't work
783 2. MINOR_CHANGE: Updated test code t_fman.cpp to aviod intermittent failures on emulator platform.
786 1. DEFECT FIX: PDEF134764: "Fuzzing by truncation" test is not executed for an internal drive
787 Add line to set target drive to the internal drive before the appropriate test.
790 1. DEFECT FIX: DEF135502: SMP unsafe calls in LFFS
791 Was trying to use a stack variable between two threads. Wasn't waiting for the client-side thread
792 handle to be cleared before trying to recreate threads with the same name.
797 (Made by GeorgeSin 27/02/2009)
800 1. MINOR_CHANGE: Updated documentation of CFileMan for 'low memory' conditions.
802 To support wildcard, CFileMan uses heap memory to store all directory entries
803 from a single directory. Therefore, in a extreme condition, if a directory contains
804 a huge number of files (e.g. more than 15000 files with 10 characters' long file
805 names), user may encounter KErrNoMemory errors. Developers who have a need to handle
806 this very rare case should increase the heap size limitation of their applications.
807 For more information about heap size configuration, please refer following
808 section in Symbian Developer Library:
809 Symbian OS build guide >> Build Tools Reference >> MMP file syntax >> epocheapsize"
811 2. MINOR_CHANGE: Updated Base_Functional_Specification.doc for PREQ1885 delivery.
814 1. DEFECT FIX: DEF133904: Loader vunerability
819 (Made by JohnS 10/02/2009)
822 1. DEFECT FIX: PDEF134667: TTG:<Wild card characters cannot be handled in the short file names>
825 1. DEFECT FIX: PDEF134640: t_rcache fails with Host USB MS drive
829 (Made by NicholasC 04/02/2009)
832 1. DEF133041: t_fatcharsetconv.exe fails with inter-op testing
833 2. DEF133076: Inconsistent test pattern in t_fatcharsetconv
838 (Made by Kai Duan 29/01/2009)
841 1. MINOR_CHANGE: Removed "interop_test" from EXFAT tests due to some restrictions.
844 1. DEFECT FIX: DEF130206: t_format fails on lubbock k drive
847 1. DEFECT FIX: PDEF133084:File Server: IsValidName returns wrong result
849 2. DEV CR:KNOI-7F3FU9: An existing API: "TBool IsValidName(const TDesC &anEntryName)" implicitly takes into
850 account the default session path when it verifies the given filename. The existing
851 "TBool IsValidName(const TDesC &anEntryName)" API shall be re-implemented on the basis of a new API
852 TBool RFs::IsValidName(const TDesC& aName, TNameValidParam& aParam )
855 1. DEFECT FIX: DEF131667: Incorrect length parameter checking in File Server
858 1. MILESTONE: Sphinx, GT0339, MS3.25, DS.1494 PREQ1617: Instrument file server
861 1. MINOR_CHANGE: Eshell extended by adding 'mount' command, which allows mounting and dismounting
862 file sytems from the command prompt.
863 2. DEFECT FIX: PDEF133607 t_mount skips TestFinaliseFS() test in UREL build
864 3. DEFECT FIX: PDEF133608 setting volume finalisation flag in FAT[1] shall be configurable for FAT16
867 1. DEFECT FIX: DEF133456: Typo in the parameter of __ASSERT_ALWAYS
870 1. DEFECT FIX: DEF132082: Panic "CSessionFs" is missing in documentation
875 (Made by DeleOgunjumelo 15/01/2009)
878 1. DEFECT FIX: DEF132841 The returned value of the RFile64::Write from WINSCW is not same as ARMV5
881 1. DEFECT FIX: DEF131893: t_ext1 hangs with USB Host MS drive
884 1. MINOR_CHANGE: Fixed issue related to f32_perf_tests not running as PREQ1885 tests scripts were also
885 required for H2 platform. Existing script file names are modified with suffix _H4 and similar scritps
886 are added for H2. The documentation FS Performance Test Suite Description.doc is also updated with this.
890 (Made by fabiangortz 07/01/2009)
893 1. DEFECT FIX: DEF131967: F32TEST T_FMAN.EXE fails on WINS/WINSCW FAT drives
898 (Made by Tom Cosgrove 02/01/2009)
901 1. DEFECT FIX: DEF131949 coverity issue in FAT code delivered by PREQ 1885
904 1. DEFECT FIX: DEF132210: [System Build]: Case issues in bld.inf causing build failures on linux, F32test
905 Change name of directory plugins/version_2/CryptoEncryption to plugins/version_2/crypto_encryption.
910 (Made by LukaszForynski 19/12/2008)
913 1. MINOR_CHANGE: Mark more binaries as SMPSAFE
916 1. DEFECT FIX: DEF131092 One of Writing functions of RFile64 returns wrong value
917 2. Milestone: Diran, GT0419, MS3.7, DS.1199 Next Generation File System
918 Requirements: PREQ2083 Next Generation File System
921 1. MILESTONE: Diran GT0364 - SMP MS3.1.3 DS.1454 PREQ1945 Basic SMP Compatibility Mode
922 NaviEngine roms can be built with -d SMPCOMPATMODE to enable compatibility mode.
923 In compatibility mode, any usermode binary which lacks the SMPSAFE flag will force
924 the process it is loaded into to execute only on core 0.
929 (Made by DmitryL 11/12/2008)
932 1. DEFECT FIX: PDEF130334: Cannot create a file with "\u3005" name correctly
935 1. DEFECT FIX: DEF130678: CFileMan is leaking memory
938 1. DEFECT FIX: DEF130916: [Coverity]-SYMBIAN.CLEANUP_STACK -base/f32/sfile
941 1. DEFECT FIX: DEF130917: TFsFileWrite::CommonEnd() should treat file size as unsigned long long
942 Function signature and implementation is modified to treat file size as unsigned long long
943 Union implementation in CFileCache is removed.
946 1. Milestone: Diran, GT0419, MS3.3, DS.1325 Kernel: Improved FAT performance for large numbers of files
948 PREQ1885 Improved FAT performance for large numbers of files
950 #define SYMBIAN_ENABLE_FAT_DIRECTORY_OPT
951 (DS1325.1. Implemented a Cache Memory Manager/Client framework on File Server level that links to Demand Paging Subsystem for dynamic allocation of memories for virous caches.
952 (DS1325.2. Implemented new directory caches for FAT volumes, the new cache adopts the Memory Manager/Client framework for dynamic cache size allocation.)
953 (DS1325.3. Optimised current usage of FAT directory caches. )
956 1. DEFECT FIX: PDEF131470 Attributes, date, time of copied files are changed because of file cache flush
959 1. DEFECT FIX: DEF131311: [Coverity] Errors reported in Host Mass Storage
960 2. DEF131305: Block reads can fail with SanDisk Card reader b_fat32
963 1. MINOR_CHANGE: Added SMPSAFE to a carefully-selected, MarkH-approved subset of Base projects.
966 1. DEFECT FIX: DEF130390: [Coverity] Issues CID 1048 and 1049 to be reinvestigated...
969 1. DEFECT FIX: DEF131384: ROFS Directory Cache not robust against changes to heap allocation algorithm
974 (Made by AnatolyP 04/12/2008)
977 1. MILESTONE: Diran GT0364 - SMP MS3.1.1 DS.1410 PREQ1945: SMP kernel prototype support for Cortex A9 processor
978 2. MILESTONE: Diran GT0364 - SMP MS3.1.2 DS.1439 PREQ1945: Prototype Run Mode Debug
979 3. MILESTONE: Diran GT0364 - SMP MS3.2.5 (DS1419) PREQ1994: ARM11 MPCore SMP BSP: NAND
980 4. INTERFACE CHANGE: BR2572.1 New virtual method DLogicalChannel::SendMsg
985 (Made by AnatolyP 02/12/2008)
988 1. DEFECT FIX: DEF130178: ReserveDriveSpace function in RFs Class can't get result to be expected
991 1. DEFECT FIX: DEF131057: Hang when accessing memory beyond media's address size using SanDisk
995 (Made by indrajeetsingh 27/11/2008)
998 1. DEFECT FIX: DEF127908: F32Tests fail with Host USB Mass Storage
1001 1. DEFECT FIX: PDEF130659: More issues with MMC card removal
1004 1. DEFECT FIX: DEF130905: which category does \base\f32\shostmassstorage\ belong to?
1007 1. DEFECT FIX: PDEF130023: RFs::Drive returns valid data when a drive is mounted for USB mass storage
1010 1. DEFECT FIX: PDEF130213 TTG:<wrong description in Developer's library as to folder depth>
1013 1. DEFECT FIX: DEF130404: asynch move behaves differently when src path doenst exist
1014 2. DEFECT FIX: DEF128965: T_FMAN fails when run with other f32tests on 4GB SD Card
1017 1. DEFECT FIX: DEF130396: SMP: Efile panic when run crypto SMP multicore test
1020 1. DEFECT FIX: PDEF129836: Fail to create a file with "IDEOGRAPHIC SPACE(\u3000)" name
1021 2. DEFECT FIX: DEF130324: TFormatMode documentation is incorrect
1024 1. DEFECT FIX: PDEF130503: SMP: File server request completion isn't SMP safe
1027 1. INC130429: [OTG] Wrong IPC Argument in RUsbHostMsDevice
1031 (Made by SivashankarN 14/11/2008)
1033 1. MINOR_CHANGE: Fix punctuation error in doc comments on RFile*::AdoptFromServer()
1034 Comma at end of sentence should be full stop.
1035 2. MINOR_CHANGE: Print out failure reason within GetLFFSControlModeSize() in T_CHLFFS
1036 to help determine cause of DEF130206 t_format fails on lubbock k drive.
1040 (Made by DaveGordon 12/11/2008)
1043 1. DEFECT FIX: PDEF129507: SPPR_REL: Phone freezes when memory card removed during recording
1046 1. MINOR_CHANGE: Fix incorrect non-doxygen comment on LocaleUtils::IsLegalShortNameCharacter()
1047 Original comment describing the method had been copied from LocaleUtils::ConvertFromUnicodeL()
1052 (Made by Vino Jose 31/10/2008)
1055 1. MileStone: Diran, GT0419, MS3.6, DS.1176, PREQ1725 64 Bit File Server
1056 Symbian Variability: SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
1057 BR2477.1 Affected clients of RFile should explicitly enable 64-bit file
1058 support to allow access to files beyond the 2GBytes boundary, and migrate to
1059 using TInt64 offsets and the new RFile::Seek64/RFile::Size64 API's where appropriate.
1060 Clients who have not migrated need to ensure they handle the error KErrTooBig
1063 1. Milestone: Sphinx, GT0339, MS3.18, DS.1254 CR1271: Kernel & HW: Improve File Server test coverage for non-european languages
1064 Change Requests: CR1271 Improve File Server test coverage for non-european languages
1069 (Made by ReubenH 27/10/2008)
1072 1. DEFECT FIX: PDEF129419 F32 file name checksum calculation is not optimal
1075 1. DEFECT FIX: DEF129320: TF32ArgType should be publishPartner and Released.
1076 Fix for INC128291: TF32ArgType is in the global namespace and clashes with existing enums, moved TF32ArgType
1077 to f32plugin.h, which is declared as @file internalTechnology, whereas before TF32ArgType was publishPartner.
1078 Also, TFsPluginRequest::Function and DriveNumber have been made publishPartner as they are needed by plugin authors.
1083 (Made by NeilClifford 17/10/2008)
1086 1. Development CRs: MZAI-7JRKFL New CFileMan Test Framework
1089 1. DEFECT FIX: DEF128392: T_FSYS fails when querying block-size information of large-block NAND devices
1092 1. DEFECT FIX: PDEF128029: Panic code documentation for RFs::ReadFileSection() is not correct
1095 1. DEFECT FIX: DEF128682: Base not building with RVCT 3.1
1098 1. DEFECT FIX: PDEF128860 TTG:< the file becomes deleted when a file would be renamed >
1104 (Made by NicholasC 14/10/2008)
1107 1. DEFECT FIX: PDEF128576: Unicode name file deleted after Scandrive
1110 1. DevCR: Peripherals, GT0339 Base Meteora, Reference file server plug-in,
1111 The new file server plug-in framework enables third party suppliers to write their own file modifier plug-ins .
1112 The DEVCR shall deliver a test/reference plug-in that shall suitably demonstrate how to write such a plug-in. The DEVCR would deliver the entire solution.
1113 A management application shall be delivered and shall basically load/unload plug-ins, etc
1118 (Made by KaiD 13/10/2008)
1121 1. Milestone: Diran, GT0419, MS3.13, DS.1130 Improved FAT performance for large numbers of files
1123 PREQ1885 Improved FAT performance for large numbers of files
1124 Symbian Variability:
1125 #define SYMBIAN_ENABLE_FAT_DIRECTORY_OPT
1130 (Made by SivashankarN 08/10/2008)
1133 1. DEFECT FIX: PDEF128466: TTG:<two files with the exactly same short file name erroneously exist>
1136 1. DEFECT FIX: DEF127652: [MS] Host can't recover gracefully from USB device removal during data transfer
1141 1. DEFECT FIX: INC128291: TF32ArgType is in the global namespace and clashes with existing enums
1144 1. DEFECT FIX: PDEF128520: SWI-installed KDLL (statically linked to LDD) does not get loaded
1145 Loading a kernel-side library which is linked to another kernel side library
1146 was not possible if the dependent had static data.
1153 (Made by MichaelMo 02/10/2008)
1156 1. DEFECT FIX: DEF128289: Template roms cant be built
1159 1. DEFECT FIX: PDEF127937: TTG:<a invalid character can be set on the volume label>
1164 (Made by SebOlney 24/09/2008)
1167 1. DEFECT FIX: DEF114282: Multiple intermittent F32TEST failures on Integrator
1172 (Made by georgiosdementis 22/09/2008)
1175 1. DEFECT FIX: DEF127677: TFsPluginRequest::FileName( ) does not work in some scenarios
1178 1. DEFECT FIX: DEF127010: eshell 'copy' command not working correctly for single files
1181 1. GT0399 MS3.15 DS1031 PREQ1577: USB Host Mass Storage
1187 (Made by georgiosdementis 12/09/2008)
1190 1. DEFECT FIX: DEF126881: TFsPluginRequest::Src() faults in EFsDirReadOne and EFsDirReadPacked intercept
1191 2. DEFECT FIX: DEF126581: Enchanced file server plugin test failures relating to LFFS and readfilesection
1192 3. DEFECT FIX: DEF127407: CFsObject::Name returns NULL when TName is expected.
1195 1. DEFECT FIX: PDEF127147 RFile::SetModified does not take effect by RFile::Flush()
1196 2. DEFECT FIX: PDEF126981 TTG:<CheckDisk error is raised after having Renamed a file or folder>
1197 3. MINOR_CHANGE: F32 tests tidy up
1200 1. DEFECT FIX: PDEF127162 SPPR_REL: DUT is shut down automatically when tapping continuously 'Retry'
1201 2. DEFECT FIX: PDEF127207 Video sharing:Phone reboot when unpluging memory card in Video sharing state.
1204 1. DEFECT FIX: DEF124775: If (lockposition+locklength)> 2GB -1, then RFile::Lock() returns KErrNone.
1207 1. DEFECT FIX: PDEF127286: Inc9 POD: The phone reboots or hangs up after plugging USB while downloading an
1210 1. DEFECT FIX: DEF127529 eshell gives -21 instead -11, while md folder name is same as file name
1213 1. DEFECT FIX: PDEF127641: FAT/FAT32: unable to open or delete file whose name contains illegal characters
1216 1. DEFECT FIX: DEF127074: t_FMAN fails on large cards
1221 (Made by georgiosdementis 05/09/2008)
1224 1. DEFECT FIX: DEF125362: Emulator drive C reports media type as RAM
1227 1. DEFECT FIX: PDEF127294: t_ext1 has warnings and fails with PDEF122991 fix
1228 2. DEFECT FIX: DEF126584: Enhanced file server plugin test failures when calling AddPlugin
1231 1. DEFECT FIX: DEF126404: [coverity] - many different coverity issues found at /f32/sfile/
1236 (Made by georgiosdementis 29/08/2008)
1239 1. DEFECT FIX: DEF126690: runtests doesn't warn users that it's going to panic on purpose
1242 1. DEFECT FIX: DEF126257: eshell copy file to same folder should return error message.
1245 1. MINOR CHANGE: Update Base Functional Specification with CR1258
1250 (Made by indrajeetsingh 26/08/2008)
1253 1. DEFECT FIX: DEF126397: [Coverity]- DELETE_ARRAY - /f32/slffs/
1254 2. DEFECT FIX: DEF126398: [Coverity]- OVERRUN_STATIC - /f32/smassstorage/
1257 1. DEFECT FIX: DEF126395 [Coverity]- SYMBIAN.CLEANUP_STACK - /f32/scomp/
1258 2. DEFECT FIX: DEF126396 [Coverity]- EVALUATION_ORDER - \f32\sfat32
1263 (Made by MichaelCox, 20/08/2008)
1266 1. DEFECT FIX: DEF125490: Damaged MMC card causes ASSERT in FAT implementation
1269 1. DEFECT FIX: PDEF126260: Japanese name directory without VFAT entry fails to access
1272 1. GT0399 MS3.16 DS1030 PREQ1111: Peripherals: Enhanced F32 plug-in framework
1277 (Made by patrickconway, 15/08/2008)
1280 1. DEFECT FIX: DEF126548: Typo in comment for class THMem
1283 1. DEFECT FIX: DEF126477: Is f32test/demandpaging test or production
1286 1. DEFECT FIX: PDEF126203: CMassStorageMountCB::MountL handles missing media in wrong way
1289 1. DEFECT FIX: DEF126257: eshell copy file to same folder should return error message.
1292 1. DEFECT FIX: DEF126307: T_FILEMATCH doesn't check return codes
1297 (Made by JohnS, 15/08/2008)
1300 1. MINOR CHANGE: Fixed X86GCC build errors in t_dirs.cpp
1303 1. DEFECT FIX: PDEF126145: T_DemandPaging failures cause t_filecache failure.
1304 2. DEFECT FIX: DEF124458: Formating an SD card with an existing illegal partition table can fail
1307 1. DEFECT_FIX: DEF125019: [coverity] - CHECKED_RETURN - base/f32/sfile
1310 1. DEFECT_FIX: DEF125570: src dir is not deleted after Move if trg has the same src dir already existing
1315 (Made by ReubenH, 04/08/2008)
1318 1. DEFECT FIX: DEF125673: Undocumented position parameter in RFs::MountPlugin
1321 1. DEFECT FIX: DEF125143: Inconsistency found in dir creations when containing trailing dots and spaces
1326 (Made by fabiangortz, 24/07/2008)
1329 1. DEFECT FIX: DEF125010: [coverity] - OVERRUN_STATIC - base/f32/sfile/sf_drv.cpp
1332 1. DEFECT FIX: DEF125009 [coverity] - OVERRUN_STATIC - base/f32/sfat32
1335 1. DEFECT FIX: DEF125015: [coverity] - REVERSE_INULL - base/f32/sfile
1338 1. DEFECT FIX: PDEF124959: Phone freezes when memory card is removed during recording
1341 1. DEFECT FIX: DEF124051: Can not compile f32test - t_readdist test
1344 1. DEFECT FIX: DEF115913: File System Plugins ignore the Mounted Drive attribute
1347 1. MINOR_CHANGE: Changed ldrtst makefile to propagate bldmake bldfiles platform type to enable building for ARMv6
1352 (Made by fabiangortz, 21/07/2008)
1355 1. DEFECT FIX: DEF125008: [coverity] - FORWARD_NULL - base/f32/sfile
1358 1. DEFECT FIX: DEF125011: [coverity] - OVERRUN_STATIC - base/f32/sfile/sf_local.cpp
1359 Replace "<= KMaxPBusSockets" with "< KMaxPBusSockets" to fix off-by-one.
1364 (Made by RichardCo, 17/07/2008)
1367 1. DEFECT FIX: DEF123575: CFileMan::Move() returns KErrNone even with unsuccessful move operation.
1370 1. DEFECT FIX: PDEF124744: Return value is not checked in CUsbMsFileSystem::InitThreadL()
1373 1. DEFECT FIX: PDEF125108: BC error: BC problem with third party application PocketTODO
1374 Loader was not correctly handling uncompressed or bytepair compressed executables
1375 on removable media when paging is enabled.
1380 (Made by LukaszF, 15/07/2008)
1383 1. DEFECT FIX: PDEF124150: USB - Lumiere fails USBCV MSC Mass Storage test in both FS and HS modes
1386 1. DEFECT FIX: PDEF124805: TFindFile::DoFindByDir is inefficient
1389 1. DEFECT FIX: DEF121020: Typographical error in sf_request.cpp
1390 Changed "if (r |= KErrNone)" to "if (r != KErrNone)
1395 (Made by KaiD, 09/07/2008)
1398 1. DEFECT FIX: DEF123645: etshell doesn't handle file sizes > 2GB
1403 (Made by DmitryL, 07/07/2008)
1406 1. DEFECT FIX: DEF123582 FAT32 PREQ1721 enhancements require better support in FileServer
1409 1. DEFECT FIX: DEF123044: Request status value for negative scenarios are not handled properly in CFileMan
1410 2. DEFECT FIX: DEF123645: etshell doesn't handle file sizes > 2GB
1413 1. DEFECT FIX: PDEF124082: Directories/files with non-latin names are not listed in dialogs and file browse
1418 (Made by NicholasC, 23/06/2008)
1421 1. DEFECT FIX: PDEF123999: USB Mass Storage WHQL Test failure (Disk Stress) with double buffering
1425 (Made by indrajeetsingh, 20/06/2008)
1428 1. DEFECT FIX: PDEF123403: t_cfstest.exe for some larger SD Cards
1429 This defect was re-opened to cater for reported problems with Panasonic 8GB cards.
1430 A timeout in the test has been increased.
1434 (Made by patrickconway, 17/06/2008)
1437 1. DEFECT FIX: PDEF123681: Calculation of transfer rate is not correct in f_sysbm
1440 1. DEFECT FIX: DEF121663: Moving a directory returns failure eventhough the directory is moved.
1445 (Made by deleogunjumelo, 11/06/2008)
1448 1. DEFECT FIX: PDEF123403: t_cfstest.exe for some larger SD Cards
1449 2. DEFECT FIX: DEF123449: File Server memory leak
1452 1. DEFECT FIX: PDEF123410 File server panic due to error of DeleteNotify() even when platsec disabled
1455 1. MINOR_CHANGE: Reframed the documentation fix of DEF120050 to improve the quality
1460 (Made by JohnS, 05/06/2008)
1463 1. DEFECT FIX: T_Format Test5 not properly supported for all LFFS media
1466 1. DEFECT FIX: DEF121566: t_ext1 test fails after several runs
1469 1. DEFECT FIX: DEF122894: Defect in RFs GetDir() API
1474 (Made by RichardCo, 01/06/2008)
1477 1. DEFECT FIX: DEF119140: wrong file name had been created in case of including Japanese character
1480 1. DEFECT FIX: DEF119141: long filename is not created in case of including Japanese character
1483 1. DEFECT FIX: DEF120050: CFIleMan::Copy() returns "KErrNone" instead of "KErrDiskFull"
1487 (Made by ParameshwariB, 23/05/2008)
1490 1. DEFECT FIX: PDEF121816: ESTART calls InitCompositeFileSystem() in wrong place
1493 1. DEFECT FIX: PDEF122770: Password Store Exceeded
1496 1. DEFECT FIX: PDEF122835: ONB: wstest_t_autotest.script crashes on H4 / times out on WinSCW
1497 Make loader safely fail when asked to load a binary whose name is the empty string.
1500 1. MINOR_CHANGE: Fix spelling in comments: it's "whether", and not "wether" (and rarely "weather")
1501 Corrections made in several files throughout base code.
1504 1. Change Request: CR1266: Implemented Delete On Close extension to RFile file creation methods (#1240403)
1505 2. Minor fix (#1244079) to t_file relating to a race on subset of test hardware due to CR1266 check in.
1511 (Made by SivashankarN, 19/05/2008)
1514 1. DEF118967: CBulkOnly transport does not connect to all LUNs.
1517 1. DEFECT FIX: DEF121566: t_ext1 test fails after several runs
1520 1. DEFECT FIX: PDEF122384: E32test and F32test issues (SD / F32)
1523 1. DEF121859: ScanDrive badly handles large amount of lost clusters
1528 (Made by LukaszF, 09/05/2008)
1531 1. PDEF122074: USB Mass Storage driver crashes in certain situations
1532 Changed the USB Mass Storage driver such that function
1533 CBulkOnlyTransport::ReadAndDiscardData() doesn't use any longer the main Read
1534 buffer iReadBuf (the not-readiness of which caused the defect) but instead
1535 the new dedicated small buffer iDiscardBuf.
1537 1. MINOR_CHANGE: Remove unnecessary code from t_nandmisc.cpp.
1540 1. DEFECT FIX: PDEF120775: FAT volume remonting does not notice FAT table changes.
1541 2. DEFECT FIX: DEF119115 Unreliable code in FAT implementation
1542 3. DEFECT FIX: DEF122067 Fat32 bit cache populating thread work is not optimal
1545 1. DEFECT FIX: DEF121829 Duplicate test case in t_dcdiskadminallfiles.cpp
1548 1. DEFECT FIX: DEF115401: Incomplete validation of data in loader
1553 (Made by DmitryL, 28/04/2008)
1556 1. DEFECT FIX: DEF120597: Priority dependence in fileserver in T_CFSSIMPLE
1561 (Made by fabiangortz, 22/04/08)
1563 1. DEFECT FIX: DEF117345: TTG:<Japanese character as short file name changes to different one on creating>
1564 Corrected leading "0xE5" character handling in FAT implementation.
1569 (Made by NicholasC, 18/04/08)
1572 1. DEFECT FIX: DEF120773: EShell format of MMC media - ReservedSector / Number of FATS
1574 1. DEFECT FIX: DEF121112: USB Mass Storage driver has bare RDebug::Printf(()
1579 (Made by indrajeetsingh, 16/04/08)
1582 1. DEFECT FIX: PDEF120295: BC break in CFsPlugin
1587 (Made by deleogunjumelo, 09/04/08)
1590 1. MILESTONE: Sphinx, GT0339, MS3.7.2 DS766 PREQ1724: Enable the use of shared chunks within F32 and the media subsystem
1595 (Made by patrickconway, 03/04/2008)
1598 1. PDEF119749: t_ms_publish hangs
1599 2. PDEF120290: DriveStateChangedPublisher causes a behaviour break to the drive manager in msfs
1602 1. DEFECT FIX: PDEF119847: TestExtendedChars of t_scn32dr1.exe failed in Japanese environment.
1605 1. DEFECT FIX: DEF120175: Issues with file server plugins & file caching
1609 (Made by DjordjeK, 26/03/2008)
1612 1. DEF119965: Unguarded RDebug::Printf in mass storage production code (GetCheckDrive)
1616 (Made by JohnS, 20/03/2008)
1619 1. DEFECT FIX: DEF119472: Drive Info not fully updated immediately after media change
1622 1. MINOR_CHANGE: Enable CSV output in perf_filter.pl
1625 1. MINOR_CHANGE: Removed obsolete USB Mass Storage unit test t_13cases.
1626 Coverage for the '13 cases' is provided by the MSC test suite of the
1627 official USB test & compliance tool USBCV.
1630 1. DEFECT FIX: DEF119418: Loading the locale DLL into process after setting locale fails on emulator.
1634 (Made by ParameshwariB, 17/03/2008)
1637 1. DEFECT FIX: DEF116668: TTG:<Chkdsk command on PC detects an error after renamed folder on SDHC>
1640 1. CHANGE REQUEST: CR1115: Dual Slot Support
1645 (Made by RichardCo, 11/03/2008)
1648 1. DEFECT FIX: PDEF114161: XSR garbage collection not updated for multiple FAT
1649 The Unistore-II / XSR driver now collects garbage for every FAT partition.
1650 2. MINOR CHANGE: Filldrive() in t_xferbm no longer generates unnecessary test failures.
1653 1. DEFECT FIX: DEF119052 t_scn32dr2 test fails on volume of 8192 sectors and 4 spc.
1656 1. DEFECT FIX: DEF119113: Test cases don't handle a lack of removable media on x86.
1661 (Made by OlegI, 04/03/2008)
1664 1. Milestone: Sphinx, MS3.11, Base Meteora GT0339, DS956, PREQ1871 Peripherals: Support code for System State Manager
1666 Configurability and compatibility:
1667 BR2271 Increase Domain Manager domain id and domain state variable sizes
1668 Not configurable, certain components need to be compiled with these changes in, such as domainpolicy2, testexecute, apparc and ecom3.
1674 (Made by ReubenH, 03/03/2008)
1677 1. DEFECT FIX: PDEF118828: I/O errors in mass storage mode with non-Windows terminals
1680 1. DEFECT FIX: DEF111290: DP Default ROM Failures: apparctest_t_Locale & apparctest_t_Caption
1685 (Made by fabiangortz, 28/02/2008)
1688 1. DEFECT FIX: PDEF118165: Klocwork issues, NULL pointer can be used in release build base_f32
1691 1. DEFECT FIX: PDEF117851: RFs::Volume() incorrectly reports KErrNone after media removal
1692 2. MILESTONE: Sphinx, GT0339, MS3.5.2, PREQ1721 REQ7248 DS710 FAT32 background scan for free clusters.
1693 3. MILESTONE: Sphinx, GT0339, MS3.5.4, PREQ1721 REQ7766 DS711 Compressed FAT representation.
1696 1. DEFECT FIX: DEF118468: KCurrentPosition cannot be specified by user in RFile::Read and RFile::Write.
1701 (Made by ParameshwariB, 19/02/2008)
1704 1. DEFECT FIX: PDEF118046: file server crashes because requests queued incorrectly on main thread
1709 (Made by SivashankarN, 14/02/2008)
1712 1. DEFECT FIX: PDEF117946: Back upping Phone with PC Suite via USB makes phone to crash
1715 1. DEFECT FIX: PDEF117478: Locale and time changes trigger time consuming fat operations
1720 (Made by ReubenH, 11/02/2008)
1723 1. DEFECT FIX: PDEF117786: CheckDisk after FindEntryBounce of t_fsrvbm fails with KErrTooBig
1726 1. DEV CR: BBRE-77FLAL: Kernel, GT0364 SMP, SMP: Modifications to base code in support of the GCC compiler
1727 and related tools for the x86 target (i.e. support for new X86GCC platform)
1731 (Made by NicholasC, 30/01/2008)
1736 (Made by RichardCo, 25/01/2008)
1739 1. DEFECT FIX: PDEF112148: CFileMan->Move() behaves inconsistently
1742 1. DEFECT FIX: PDEF116573: Phone reboots when formatting memory card after recording high quality voice cli
1743 2. DEFECT FIX: DEF116576: T_RAW can fail on large media
1746 1. DEFECT FIX: DEF116276: CLocDrvMountCB::CreateLocalDrive() doesn't handle error code of InitLocalDrive()
1749 1. DEFECT FIX: PDEF116531 FAT32 Free clusters counting is inefficient.
1752 1. CHANGE REQUEST: Development CR BBRE-788J8X, Peripherals GT0339 Base Meteora
1753 (Was CR1084) Removable media should be able to use Local time stamps.
1756 1. DEFECT FIX: DEF113299: CFileMan::Rename() should fail for invalid file rename
1760 (Made by DmitryL 16/01/2008)
1763 1. MINOR_CHANGE: Modified TestReadAhead() in t_rcache.cpp to report on drive synchronicity
1766 1. DEFECT FIX: DEF115095: IMPORT_C on BLKIFUNC()
1771 (Made by fabiangortz, 11/01/2008)
1774 1. DEFECT FIX: PDEF116158: Memory card not available in USB Mass Storage after password given
1777 1. DEFECT FIX: PDEF116219: t_ms_mountstart stalls
1782 (Made by patrickconway, 08/01/2008)
1785 1. DEFECT FIX: PDEF115574: FAT should create VFat entries for unicode character contained file
1788 1. DEFECT FIX: DEF115578: User::Invariant() panic in file system thread.
1789 2. DEFECT FIX: DEF116041: Cannot specify the number of FAT tables when formatting a drive
1790 Added a flags field to TLDFormatInfo to allow the default number of FAT tables to be specified
1791 and added this functionality to the shell format command.
1792 3. MINOR CHANGE: Changed t_med_writebm to fill buffer outside for loop to improve throughput timing calculation.
1796 (Made by NeilC, 25/12/2007)
1800 1. DEFECT FIX: INC111038 F32_MMC T_FMAN failed.
1803 1. DEFECT FIX: DEF115494 RFs::IsValidName() API documentation is not complete.
1807 (Made by DeleO, 17/12/2007)
1810 1. DEFECT FIX : DEF115215: Missing description for DriveNumber() of CFsDispatchObject class
1811 2. DEFECT FIX : DEF115216: Missing description for Mount() of CProxyDrive class.
1812 3. DEFECT FIX : DEF115217: Missing documentation for global function GetFileSystem().
1813 4. DEFECT FIX : DEF115214: Missing description for member functions and data members of CFileShare class.
1814 5. DEFECT FIX : DEF115218: Update in-source doc for data members of struct TDriveExtInfo in correct format
1815 6. DEFECT FIX : DEF115221: Update in-source doc for data members of TExtensionInfo in correct format
1818 1. DEFECT FIX : DEF115318: MAC can not read large files from USB Mass storage
1821 1. DEFECT FIX : DEF115564: File Server session simulated failure should enclude File Clamp Close operation
1824 1. DEFECT FIX : PDEF114708 extra CFatMountCB mounting after format operation.
1827 1. DEFECT FIX : DEF115314: TTG:<`(0x60) code cannot be used as valid Short File Name>
1830 1. DEFECT FIX: DEF114154: Secure clock does not persist HAL setting
1833 1. DEFECT FIX: DEF109820: Loader issue
1838 (Made by LukaszF, 10/12/2007)
1841 1. DEFECT FIX:PDEF114641 : SetModified()-Modifies even the creation time of a file on the emulator
1844 1. DEFECT FIX : PDEF114979:CFileMan::Copy returns KErrNotFound if copy source folder is empty. Updated the insource documentation with the required error code. And also verified the same with test code
1849 (Made by DmitryL, 06/12/2007)
1852 1. DEFECT FIX: PDEF115243: Wrong loading order if two DLLs with the same name in Z: and C: have same versio
1853 Imported DLL loading now only searches the drives in the usual order rather than searching the
1854 directory containing the main EXE/DLL being loaded first.
1855 2. BREAK REQUEST: BR2262.2: Change DLL path search rules to not prefer EXE directory
1856 Break for behavioural change in PDEF115243, above.
1859 1. DEFECT FIX: DEF114647: 'cd' command does not work for an absolute path in eshell
1864 (Made by DjordjeK 04/12/2007)
1866 1. DEFECT FIX: INC114627: Formatting E: crashes the shell with 16GB eMMC (Exit Type 2.10 USER)
1869 1. DEFECT FIX: DEF114667: RDir::Read returns KErrEof when attempting to read from non-existant directory
1872 1. DEFECT FIX: DEF114744: TTG:<number of folders that CheckDisk() can chase up is different with creation>
1877 (Made by RichardCo 30/11/2007)
1880 1. DEFECT FIX: DEF114527 : Tech view : Remove directory (command) returns wrong error code.
1883 1. DEFECT FIX: DEF114421: Inconsistent File Server behaviour when enumerating dirctories
1887 (Made by OlegI 26/11/2007)
1890 1. DEFECT FIX: INC113606: DP: Bytepair doesn't work if CODE ODP is enable with AknLayout2scalable.dll file
1891 Increased loader stack size to 32K. This is a temporary solution until the upcoming loader
1892 rework is completed.
1895 1. DEFECT FIX: PDEF114246: RFs::Rename() operation return -11 even if names of files are different
1897 3. Radhakrishnanramanat
1898 1. DEFECT FIX: PDEF114712: ShellFunction::Md returns KErrAlreadyExists with long filename.
1899 Validate and return the error code corresponding to GetFullPath() in Md() function.
1902 1. Defect FIX: PDEF114732: Defects in loader exposed by new loader tests
1907 (Made by ReubenH 22/11/2007)
1910 1. MINOR CHANGE: Changed runtests timeout in autoexec.bat (h2 & H4) for base test images.
1913 1. DEFECT FIX: DEF110992: Test TSU_MMF_SRSSNK:MM-MMF-SRSSNK-U-0131 fails
1914 2. DEFECT FIX: DEF114103: CFileMan should disable write caching
1915 3. MINOR CHANGE: Added a debug-only class (TFileCacheConfig) to retrieve current file-cache
1916 config for a particular drive.
1917 4. DEFECT FIX: DEF114514 : Calling RFs::Close() with a slow MMC card can cause a USER 80 panic
1918 5. DEFECT FIX: DEF114666 : Changed MmcLoader to call RFile::Flush() to trap write failures when write caching is enabled
1919 This only affects demand-paging-from-MMC ROMs.
1922 1. DEFECT FIX: DEF113333: Kernel crashes on loading an executable.
1925 1. MINOR CHANGE: Add entry BASE/F32/29 in Base_Functional_Specification.doc
1928 1. DEFECT FIX: PDEF114233: USB Mass Storage eject and reinsert is not working for udeb
1929 2. MINOR CHANGE: Add entry BASE/F32/30 in Base_Functional_Specification.doc for PREQ1845
1934 (Made by NeilC 16/11/2007)
1937 1. DEFECT FIX: DEF114247: T_PWSTR: local drive number doesn't match file server number.
1942 (Made by NicholasC 14/11/2007)
1945 1. MILESTONE: Naiad, GT0326, MS3.14, PREQ1845 - USB Client Mass Storage Double Buffering.
1950 (Made by MariamSood 13/11/2007)
1953 1. DEFECT FIX: PDEF114026: Code in CScanDrive class uses too much stack.
1955 2. Radhakrishnanramanat
1956 1. DEFECT FIX: DEF112864: RFs.Entry() returns 'Access denied' error [error code -46]
1957 Modified TBool SIDCheck(CFsRequest* aRequest, const TDesC& aThePath) to check for SID without appending with \\
1960 1. DEFECT FIX: DEF112050: : Some F32tests use D: drive or drive derived from session path.
1961 Modified to use command line argument.
1964 1. DEFECT FIX: DEF112757: Rfile::Set() attributes mask check is incorrect and doesn't correspond to desc.
1965 Update : Tests t_npfail and t_clamp also updated
1970 (Made by ParameshwariB 09/11/2007)
1973 1. DEFECT FIX: PDEF113482: "App closed: Voicerecorder" happened when inserting the third new sound clip to
1974 2. DEFECT FIX: PDEF102531: F32 should be able to be tested against Non-Latin (Unicode) characters
1977 1. DEFECT FIX: DEF112176: It is possible to change directory name to 257 characters (incl. drive letter)
1980 1. DEFECT FIX: DEF113117: call to GetDesLength() is not checked for an error return
1983 1. DEFECT FIX: DEF113832: FAT lookup for the first free cluster for MKdir is inefficient
1989 (Made by SushmitaR 07/11/2007)
1992 1. DEFECT FIX: DEF113637 CFatMountCB::CheckDisk() incorrectly calculates number of clusters.
1995 1. DEF112944: TFileText::Read() API reads more than 256 characters
1996 2. DEF113584: TFileText::Read() reads wrong number of characters
1999 1. DEFECT FIX: DEF113225: Access permission denied for system folders with caching flags
2002 1. DEFECT FIX: DEF113338: 'Reserved For Boot Sector' data is not written at format.
2005 1. DEFECT FIX: DEF112507: Issues with CompFS
2006 Tested for return values.
2009 1. DEFECT FIX: PDEF113483: CFileMan::RmDir can't delete path that has no long file name
2012 (Made by SivashanakarN 30/10/2007)
2015 1. DEFECT FIX: DEF112734 FAT32 FAT1 table and FAT2 table "head bytes"
2018 2. DEFECT FIX: PDEF112952: The T_NANDMISC NAND acceptance test fails
2019 This nand acceptance test includes a disk free space vs size test that was failing for FAT32
2020 drives. FAT32 drives include one cluster for the root directory in the reported size, whereas
2021 FAT12 & FAT16 drives don't. The test was failing to allow for this.
2024 1. DEFECT FIX: DEF112972: TDriveUnit::TDriveUnit(TInt aDrive) API takes -1
2029 (Made by KaiD 26/10/2007)
2032 1. CHANGE REQUEST: CR1086: Add new drive attribute to identify drives with physically removable media
2033 Added KDriveAttLogicallyRemovable
2037 1. DEFECT Fix: DEF112049: Wrong error code during opening a lot of files from ramdrive.
2038 The error code is changed to KErrNoMemory.
2041 1. Defect Fix: DEF113015: APIREG:TParsePtrC returns FSCLIENT 25 if the the specified name
2042 fails to parse. Modified the in-source documentation to reflect the change of error code (FSClient 24).
2045 1. DEFECT FIX: PDEF112800: Defect in ESTART can lead to corrupt drive mapping info and file server panic
2051 (Made by JohnS 23/10/2007)
2054 1. DEFECT FIX: DEF112229: Removing file system without dismounting causes file server crash
2057 1. DEFECT FIX: DEF112962: Minor improvements to File Server write caching
2061 1. DEFECT FIX: DEF112757: Rfile::Set() attributes mask check is incorrect and doesn't correspond to desc.
2062 Update : An attempt to set or clear the KEntryAttDir, KEntryAttVolume or KEntryAttRemote attributes have no effect.
2065 1. DEFECT FIX: DEF111524 H2 board crashes (debug assert) as a result of MMC card removal (reopened).
2071 (Made by indrajeetsingh 10/10/2007)
2074 1. DEFECT FIX: DEF111700: Formatting a locked SD/MMC leaves it in a bad state (causes panics later)
2077 1. DEFECT FIX: DEF101639: RFs::SwapFileSystem is not tested by f32test
2078 Added t_swapfsys test application.
2081 1. DEFECT FIX: DEF074912: RFs::NotifyDiskSpaceCancel() should run on a separate drive thread
2084 1. DEFECT FIX: DEF111477: Mass storage test t_msfs_scsi fails after fix for drive eject(PDEF110325).
2087 1. DEFECT FIX: PDEF112480 Restarting application happens on executing RFs::ChechDisk()
2088 2. DEFECT FIX: DEF112466 CFatMountCB::DoFindL() code is inefficient
2089 3. MINOR_CHANGE: fixed multithreading issue with RTest in t_checkdisk
2092 1. MINOR CHANGE: Update t_pageldrtst as the integration from the preq308a branch missed the latest changes
2093 to test case that prevent it locking up.
2098 (Made by DeleOgunjumelo 04/10/2007)
2101 1. DEFECT FIX: DEF112264 Wrong error code during creating directory without trailing backslash.
2104 1. DEFECT FIX: DEF112351: runtests.mmp contains invalid mmp syntax
2107 1. MILESTONE: Oghma, GT0302, MS3.13 DS733 : PREQ775: Base - Alignment of CBR and System Model components
2108 INTERFACE CHANGE: BR2160 Peripherals: Alignment of Base components against CBR package
2109 Separate out existing base_f32 component into the following components :
2110 f32\group\base_f32.mrp
2111 f32\estart\base_f32_estart.mrp
2112 f32\etshell\base_f32_eshell.mrp
2113 f32\iso9660\base_f32_siso9660.mrp
2114 f32\ntfs\base_f32_sntfs.mrp
2115 f32\scomp\base_f32_scomp.mrp
2116 f32\sfat\base_f32_sfat.mrp
2117 f32\sfat32\base_f32_sfat32.mrp
2118 f32\sftl\base_f32_sftl.mrp
2119 f32\slffs\base_f32_slffs.mrp
2120 f32\smassstorage\base_f32_smassstorage.mrp
2121 f32\srofs\base_f32_srofs.mrp
2122 f32\srom\base_f32_srom.mrp
2123 N.B. Most of the new components have their own BLD.INFs so build scripts may need changing (!)
2127 (Made by LukaszForynski 01/10/2007)
2130 1. DEFECT FIX: DEF111658 FAT32 LRU cache doesn't flush dirty pages
2133 1. DEFECT FIX: PDEF111018: CFileMan->Move() moves items recursively in non-recursive mode
2136 1. DEFECT FIX: DEF111827: T_Nandpaging has a potential deadlock.
2139 1. DEFECT FIX: DEF111681: CheckDisk is returning bad error code when run on locked SD card
2140 2. DEFECT FIX: PDEF111776: memory card write failure notification can deadlock the phone
2143 1. DEFECT FIX: DEF112344: runtests.exe should not be dependant on btracec.dll.
2144 Make the runtests '-a' option conditional on a macro being defined.
2149 (Made by MarkTa 26/09/2007)
2152 1. DEFECT FIX: DEF111567: ScanDrive reads directory entries though the wrong cache
2153 2. DEFECT FIX: DEF111755: Can't enable write caching unless read caching is also enabled
2156 1. DEFECT FIX: DEF111000: Techview Eshell, prompt jumps up display screen when press up arrow.
2157 Line number was not calculated correctly.
2160 1. DEFECT FIX: DEF111524 H2 board crashes (debug assert) as a result of MMC card removal.
2163 1. DEFECT FIX: PDEF111701: Memory leak in CMountCB
2168 (Made by DmitryL 11/09/2007)
2171 1. DEFECT FIX: PDEF110480: Large files: RFs::CheckDisk() fails if a 4GB file is present
2172 2. DEFECT FIX: PDEF110482: Large files: RFs::ScanDisk() fails if a 4GB file is present
2173 3. DEFECT FIX: PDEF110483: Large disks: formatting a FAT32 volume greater than 16GB causes an exception
2174 4. DEFECT FIX: PDEF110484: Large files: Can't open an existing 4GB file for reading
2175 5. DEFECT FIX: PDEF110485: Large files: can't create a file greater than 2GB in size with RFile::Write()
2176 6. DEFECT FIX: PDEF110486: Large files: Can't copy a file greater than 2GB in size with CFileMan
2177 7. DEFECT FIX: PDEF111239: Large files: RFs::GetDir() with ESortBySize fails if a >2GB file is present
2178 8. MINOR_CHANGE: Changed EStart to output boot time to serial port if SYMBIAN_ESTART_OUTPUT_BOOT_TIME defined
2179 9. DEFECT FIX: DEF111431: Kernel Fault when ejecting the in use media card.
2182 1. DEFECT FIX: PDEF111123: Memory card: No errors/warnings shown when copying/moving too many files to the
2186 (Made by OlegI 04/09/2007)
2189 1. DEFECT FIX: PDEF109713: TEntry::iSize returns negative number for a file with 2GB or more size.
2190 2. DEFECT FIX: PDEF110916: Unable to use RAM disk as C: drive.
2191 3. INTERFACE CHANGE: BR2120.1 RFs API extension
2192 4. MILESTONE: Sphinx, GT0339, MS3.5.1, PREQ1721 REQ7247 DS709 Correct Drives finalisation; using FSInfo sector and backup Boot Sector for FAT32.
2193 PREQ1721 Optimised FAT cluster handling
2194 REQ7247 Correct drives finalisation that allows using of FSInfo sector
2198 ==========================
2199 (Made by ReubenH, 29/08/2007)
2202 1. DEFECT FIX: PDEF110004: CFileMan RMDir cannot handle TParse path format when it is equal to 256 chars
2205 1. DEFECT FIX: PDEF109443 : Symbian - Moving files with option ERecurse works incorrectly
2208 1. DEFECT FIX: PDEF110478: Potential regression in CFileMan::Rename operation
2211 1. DEFECT FIX: DEF110648: Test tags unique ID assigned twice.
2214 1. DEFECT FIX: DEF107927: CFatMountCB::MountL bad conditional expressions for unlocking of RAM drive
2215 Change expressions to test media attributes in place of drive attributes.
2216 2. DEFECT FIX: DEF107945 - Windows emulator selects sizeable raw disk for local internal drives
2217 Test for media atributes KMediaAttVariableSize as well when selecting sizeable raw disk.
2222 ==========================
2223 (Made by JonCo, 15/15/2007)
2226 1. DEFECT FIX: DEF110410: USB Mass Storage Stall Timeout Should Be Reduced
2227 Changed timeout in CBulkOnlyTransport::StallEndpointAndWaitForClear()
2228 from 10 to 5.5 seconds.
2231 1. DEFECT FIX: DEF109797: F32test build depends on non-exported internal file sf_file_cache_defs.h
2232 2. DEFECT FIX: PDEF110622: ScanDrive can corrupt the disk if an invalid directory entry is present
2235 1. DEFECT FIX: PDEF110325: Mass Storage volume spontaneously remounts on Mac OS X and ubuntu
2239 ==========================
2240 (Made by MariamSood, 08/08/2007)
2243 1. CHANGE REQUEST: BBRE-74UH6R: Integrate multithreading bug fixes to e32 and f32 test code discovered during the SMP prototype development phase
2247 ==========================
2248 (Made by NeilC, 02/08/2007)
2251 1. DEFECT FIX: PDEF109805: Loader security vulnerability
2254 1. DEFECT FIX: PDEF109858: T_MS_MOUNTSTART fails with Micro SD cards
2255 2. DEFECT FIX: PDEF108235: t_soak1 not very good on large or slow drives
2258 1. DEFECT FIX: DEF107996: Warnings generated with checksource build
2259 Made paths in .mmp and bld.inf's consistant with file system.
2262 1. DEFECT FIX: DEF109391: CProxyDrive missing in source documentation
2265 1. DEFECT FIX:PDEF109212: Changing password for emulated MMC does not work always
2266 Defect reopened - integrated fix for WINS too
2269 1. DEF110162:[System Build]:GT Warnings due to variable'env_Val' not intialized M04304v9.4
2274 ==========================
2275 (Made by ParameshwariB, 24/07/2007)
2277 1. Radhakrishnanramanat
2278 1. DEFECT FIX: DEF108613:ESHELL carries out a carriage return and a backspace when you use backspace
2279 Modified CLineEdit::Recall() method to calulate the line number for displaying history buffer.
2283 ==========================
2284 (Made by JohnS, 17/07/2007)
2287 1. DEFECT FIX: DEF104756: APIREG: RFs::ReadFileSection allows negative length
2288 Modified sf_nbs.cpp file and added new tests in t_rdsect.cpp to check for negative length argument in ReadFileSection API.
2290 1. DEFECT FIX:PDEF109212: Changing password for emulated MMC does not work always
2293 ==========================
2294 (Made by SushmitaR, 10/07/2007)
2297 1. MINOR_CHANGE: If \epoc32\data\epoc.ini does not exist Wintest.bat now creates
2298 the ini file and writes the build-and-test-system settings to it.
2301 1. DEFECT FIX: DEF107748 - class CFsPluginConnRequest is incorrectly specified in F32plugin.h
2302 Removed duplicate declaration of Message method.
2305 ==========================
2306 (Made by AndreasP, 04/07/2007)
2309 1. DEFECT FIX: DEF107791: RFs::SwapFileSystem panics if the drive is asynchronous
2310 Modified code to return KErrNotSupported if the drive is asunchronous.
2311 Updated documentation accordingly.
2314 1. DEFECT FIX: DEF107806: T_CFSTEST occasionally fails on paged ROMs.
2317 1. MILESTONE: Oghma, GT0302, MS3.11, PREQ912 - Support LFFS on Intel "Sibley" NOR flash.
2320 ==========================
2321 (Made by AndrewHi, 28/06/2007)
2324 1. MILESTONE: Nutmeg, GT0332, MS3.7.1 PREQ1426 - Finalise run-mode debug driver including speculative Thumb2 debug support.
2325 2. DEFECT FIX: DEF108191. PREQ1426 - Debug Security can be circumvented.
2328 1. DEFECT FIX: DEF108463: File caching submission increases boot time
2329 Removed inefficient code in FsFileOpenL()
2330 2. DEFECT FIX: DEF108498: Opened file can be read from dismounted FS
2331 Flush file cache when file system is dismounted.
2334 ==========================
2335 (Made by JonCo, 26/06/2007)
2338 1. PDEF108112: Response to TEST UNIT READY doesn't meet USB MSCCV specification
2339 The problem is due to the USBCV compliance test suite corrupting the boot sector rather
2340 than a problem with compliance of the stack. The check for a valid boot sector is removed
2341 which now allows a host to format the drive in the case that the drive is corrupted.
2344 1. DEFECT FIX: DEF108054 Cannot fill more than 4GB on an 8GB card.
2347 1. DEFECT FIX: DEF108189: Client thread death can cause a file server exception with file caching enabled
2348 2. DEFECT FIX: DEF108573: FAT12 size calculation is incorrect
2352 1. DEFECT FIX: DEF107860: t_dspace has ram drive hardcoded
2355 1. DEFECT FIX: DEF108393: t_notify repeatedly tests the same status result
2360 ==========================
2361 (Made by VincentF, 13/06/2007)
2364 1. DEFECT FIX: PDEF107141: Loader tests need updating to include simulated error tests
2367 1. DEFECT FIX: DEF107327: Reduce KMaxBufSize to 64K in scsiprot.h
2368 2. DEFECT FIX: DEF107330: When EMediaNotPresent is detected - abort and dismount immediately.
2369 3. MINOR_CHANGE: Call SetActive() once all other functions have been called.
2370 4. MINOR_CHANGE: Tidy whitespace in cbulkonlytransport.[ch]
2373 ==========================
2374 (Made by MiguelB, 06/06/2007)
2377 1. DEFECT FIX: PDEF106484: T_FMAN step "Test stack usage" crashes on H2.ARM4 UDEB
2380 1. DEFECT FIX: PDEF100529: Mounting file system extension in estart not supported
2383 1. MINOR_CHANGE: Fixed t_fatcorrupt test that may fail on FAT32, some minor fixes for other tests.
2387 ==========================
2388 (Made by SushmitaR, 30/05/2007)
2391 1. DEFECT FIX: DEF107347 A FAT32-enabled ROM incorrectly allows file caching on the RAM drive.
2394 1. DEFECT FIX: DEF105438: File server thread safety issues
2395 Fixed three issues exposed by SMP testing.
2398 1. DEFECT FIX: PDEF106686: Single mapping in ESTART causes KErrArgument when setting mappings.
2401 1. DEFECT FIX: DEF106675: Redundant code in loader
2404 1. Engineering Change: EC114: Core OS: Enhance File Server to solve 1085/1086 interoperability issue.
2405 Enhanced the Rofs and Composite file system to list the feature
2406 manager file with special attributes uniquely by their mount id.
2409 ==========================
2410 (Made by JenniferH, 24/05/2007)
2413 1. DEFECT FIX: PDEF105959: Digitizer pen up and down discard filter works incorrectly.
2416 1. DEFECT FIX: PDEF106692:Klocwork errors: base_f32 (2156)
2419 1. DEFECT FIX: DEF106895: The response to the SCSI INQUIRY command is not correct
2420 2. DEFECT FIX: DEF107277: Compilation warnings in scsiprot.cpp
2423 1. DEFECT FIX: PDEF096424: Some F32tests fail on the protected area of an SD Card
2426 1. DEFECT FIX: PDEF106557 TTG:< DEF097495 again >.
2429 1. DEFECT FIX: PDEF102739 Memory card content cannot be read.
2430 2. DEFECT FIX: DEF106662 t_fatcorrupt randomly fails because of generation bad sectors in FAT12 root dir.
2431 3. MINOR_CHANGE: introduced a set of test utilities to deal with FAT FS. Tests modified to use these utilites. T_COMPAT test has become "manual"
2432 because T_COMPAT32 does the same.
2435 1. DEFECT FIX: PDEF104287: RFormat::Open crashes file server.
2436 (Propagated from INC096975: RFormat::Open crashes file server and applied same fix from INC096975)
2437 CCompMountCB nulls the CCompFileSystem::iMount pointer to itself when it is destroyed.
2440 ==========================
2441 (Made by MiguelB, 22/05/2007)
2443 1. MILESTONE: Oghma, GT0302, MS3.1.2 DS479 & DS537 Preq914 - Improve filesystem performance with server-side caching
2444 This is being delivered with read and write caching turned off by default.
2445 See Base_How_To_File_Caching.doc for more details on how to enable file caching.
2448 ==========================
2449 (Made by SamiraA, 17/05/2007)
2452 1. sivashankarnagappan
2453 1. DEF102024: RFs::UnlockDrive fails with KErrAlreadyExists with wrong password
2454 Fixed the problem of unlocking the drive with wrong password not returning KErrAccessDenied. Note that unlocking
2455 an already unlocked drive will still always return KErrAlreadyExists as expected.
2456 Also fixed the following defects (for wins environment)
2457 i) Clear password with wrong password was succeeding - instead of returning KErrAccessDenied
2458 ii) Setting new password with wrong password as current password was succeeding - instead of returning KErrAccessDenied
2459 iii) Locking with wrong password was succeeding - instead of returning KErrAccessDenied
2460 iv) Fixed - Password information and status were information retrieval while switching between cards using hot keys was fetching wrong data
2461 Also fixed the above said defects including DEF102024 for SD card
2464 1. DEFECT FIX: PDEF106584: MSC doesn't handle WRITE10 failure properly
2465 Reworked function CBulkOnlyTransport::ReadAndDiscardData() such that it now
2466 also caters for the case where there's more data to be read and discarded
2467 than fit in a single buffer.
2470 1. DEFECT FIX: PDEF102803: Emulator EStart does not handle starters that do not exit when startup is over
2475 ===============================
2476 (Made by MichaelMo, 09/05/2007)
2479 1. DEFECT FIX: PDEF105189: MMC(SD) is not corrupted if remove it form phone when formatting is ongoing.
2480 Change the order of the CreateBootSector function call during the format operation.
2483 1. DEFECT FIX: PDEF104639: Phone automatically reboots when inserting memory card with password.
2484 Calling RFs::UnlockDrive() with notifier active can fault the file server.
2486 3. sivashankarnagappan
2487 1. DEF102017: RFs::CheckDisk accepts the string "test" as drive path.
2488 Updated the parameter description document as the fix. Also did the same for the ScanDrive.
2491 1. DEFECT FIX: PDEF104758: TParsePool* TParsePool::Get() does not update iCountFree properly.
2492 Updated source code to update iCountFree properly.
2495 1. Defect Fix: DEF104757: APIREG: RFs::Replace passes when a file with ReadOnly attribute is used.
2498 1. DEFECT FIX: PDEF104272: CFileman RMdir still cannot remove longfile name directory
2501 1. DEFECT FIX: PDEF105953: Format parameters.
2502 Fixed problems with "ReservedSectors" format parameter. Eshell "format" command extended.
2505 1. DEFECT FIX: DEF105575: usb mass storage mode ejection with linux
2506 2. DEFECT FIX: DEF104842: Remove CMediaChangeNotifier
2507 3. Minor change: Cleanup whitespace in smassstorage
2508 4. Minor change: Add const to constant vars in smassstorage
2509 5. Minor change: Renaming of scsi command buffer and use of constants
2513 ==========================
2514 (Made by JonCo, 24/04/2007)
2517 1. DEFECT FIX: PDEF105081: File Server can crash when opening a file under very low memory.
2520 1. DEFECT FIX: DEF103162: Class TFSStartup is not exported but is used by partners
2521 Documentation for TFsStartUp is added.
2524 1. DEFECT FIX: PDEF105053: A folder including unknown file and folder can be deleted.
2528 ==========================
2529 (Made by AndrewHi, 16/04/2007)
2532 1. DEFECT FIX: PDEF104955 Fat 12 issue on protected area of SD media card.
2535 1. DEFECT FIX: DEF096685 RFs::SetStartupConfiguration() should be publishedPartner
2536 @publishedPartner and @release added to cl_cli.cpp for RFs::SetStartupConfiguration()
2540 ==========================
2541 (Made by VincentF, 03/04/2007)
2544 1. DEFECT FIX: PDEF104147: RFile::Duplicate() leaves a handle open
2547 1. DEFECT FIX: PDEF102776: CFileMan->Move does not remove all items from source directory when moving to it
2550 1. MINOR_CHANGE: Demand Paging test additions.
2553 1. DEFECT FIX: PDEF104017 RFs::Rename() method corrupts data when run on hardware
2554 2. DEFECT FIX: PDEF104475 T_BLOCKMAP failing on h2.arm4
2557 1. DEFECT FIX: PDEF102310 in template port KScanRate specified in microseconds, should be milliseconds.
2558 Modified the constant value and updated comments.
2561 1. DEFECT FIX: DEF103041 T_FALSESPACE, B_OPEN and T_FATCORRUPT fail on 8GB SD card.
2564 1. DEFECT FIX: PDEF104312: Memory Card ForcedErase in Text shell
2565 Fixed problem running commands from a locked MMC/SD drive.
2569 ==========================
2570 (Made by MiguelB, 22/03/2007)
2573 1. MILESTONE: Naiad, GT0326, MS3.3 DS585 CR 0909 - Change the behaviour of RFs::DriveList to exclude remote files and add new
2574 overload that includes them.
2575 Change the behaviour of RFs::DriveList and class TFindFile, in order to be able to specify the
2576 attribute mask of drives to be searched. Tests t_locate,t_fsrv test the added functionality.
2577 INTERFACE CHANGE: BR1939.2: Modify behaviour of RFs::DriveList to exclude remote drives
2581 ==========================
2582 (Made by SushmitaR, 19/03/2007)
2585 1. DEFECT FIX: PDEF103792: Usb synchronisation issue between stalling and clearing an endpoint.
2586 Changed and simplified the way Bulk endpoints are stalled (halted) and
2587 checked for un-stalling by the host in the USB Mass Storage transport
2588 component (cbulkonlytransport.cpp).
2592 ==========================
2593 (Made by SamiraA, 08/03/2007)
2596 1. DEFECT FIX: PDEF095980 [Codebase] RRawDisk::Read RRawDisk::Write panics documentation.
2597 (Propagated from DEF092024)
2598 Updated insource documentation.
2601 1. DEFECT FIX: PDEF102739 Memory card content cannot be read
2602 (Propagated from INC102003)
2603 Updated FAT16 directory listing logic to tolerate spurious long filename entries
2604 without marking entire volume as corrupt.
2607 1. DEFECT FIX: PDEF103139 Some general issues with mount file system APIs.
2608 Corrected the docummentation on RFs::MountFileSystem() API, removed KernelPanic reason for the critical notifiers
2609 on synchronous drives. Extended RFs::QueryVolumeInfoExt() API to check if the specisied drive is sync/async one.
2610 2. MINOR_CHANGE: TFatBootSector, TFSInfo code refactoring.
2611 3. MINOR_CHANGE: small CFatMountCB code rearragement.
2614 1. PDEF103095: Media removal fails on Windows Vista
2617 ==========================
2618 (Made by MarkTa, 19/02/2007)
2622 1. DEFECT FIX: DEF101943: Problems with TParsePool
2623 TParsePool was not thread-safe and had the potential of panicking the file server if
2624 a memory allocation failed.
2627 1. DEFECT FIX: DEF102020: efile::Loader thread crashes
2628 E32ImageHeader::New was not checking the return from FileRead and continuing to create
2629 and allocate an image. Added check and return of error if FileRead returns anything other
2631 Also from analysing test code found that reaper was faulting the system if it was unable to
2632 do initial cleanup, this is erroneous so fixed this aswell.
2635 ==========================
2636 (Made by JohnS, 14/02/2007)
2639 1. MINOR_CHANGE: some Eshell commands extended.
2640 eshell "gobble" command prints time taken to create the file
2641 eshell "chkdsk" command now allows to start ScanDrive on a specified drive
2642 eshell "drvinfo" command now prints FAT subtype (FAT12,16 or 32)
2645 1. DEFECT FIX: DEF096347: NAND: Recogniser failed with KErrCOrrupt
2648 1. DEFECT FIX: PDEF101895: Device crash in efile.exe when plugging/unplugging USB cable using fast file ...
2649 Fixed problem with RFs::NotifyDismount(): this cancels any outstanding requests on the drive thread but
2650 this can lead to memory leakage (and a panic in debug mode) when cancelling a KDispatchObjectClose object.
2653 1. DEFECT FIX: DEF099619: Increase in boot time by 1%
2656 ==========================
2657 (Made by IgorM, 08/02/2007)
2660 1. DEFECT FIX: PDEF101442 Memory Card: The default name is not correct after formatting the memory card.
2661 Default volume name is "" now.
2662 2. DEFECT FIX: INC100580: Folder default name can not be displayed completely.
2665 1. DEFECT FIX: DEF101470: DP: variantmediadef.h does not allow code paging from ROFS on Techview
2666 All NAND drives are now marked as pageable for h2 and h4. This change only affects code paging.
2669 1. DEFECT FIX: INC100241 CFileMan::Copy and CFileMan::Move methods do not call RFile::Flush method before
2670 2. DEFECT FIX: PDEF095995 Redefine ESystemDrive HAL attribute and ensure it is always set.
2673 1. MINOR_CHANGE: T_BLOCKMAP fails on non-NAND builds and boards. I've updated it so that it only run if it
2674 finds a NAND drive, but it still never runs on a Lubbock because it doesn't have the correct APIs for the test.
2677 1. DEFECT FIX: DEF101702: DP: Loader contains testing code
2678 Removed unreferenced code
2681 1. PDEF101070: T_Blockrep erases initial bad blocks
2682 When recovering simulated bad blocks genuine bad blocks may fail to erase.
2687 ==========================
2688 (Made by AttilaV, 29/01/2007)
2691 1. DEFECT FIX: DEF100353 CFatMountCB::CheckDisk() implementation contains potentially dangerous code.
2694 1. DEFECT FIX: INC100541: Mass Storage Write operation performance optimization
2695 Introduced a new virtual method 'void ReportHighSpeedDevice()' with empty
2696 default implementation to class MProtocolBase. This new method gets called by
2697 the F32 Bulk-only Transport once it has opened the USB LDD and detected that
2698 it's running on a HS capable USB device. The SCSI Protocol implements the new
2699 function and changes its media write size from 4KB to 64KB.
2702 1. DEFECT FIX: PDEF100386: It's possible to subst /Resource to a new drive with only DriveAdmin capability. (Propagated from DEF099546)
2703 INTERFACE CHANGE: BR2027.3: Currently it's possible to subst /Resource to a new drive with only DiskAdmin capability.
2704 This is incorrect & is to be changed to TCB to match the /Sys and /Private.
2706 Modified code to verify that the application has TCB capability for /Resource path.h.
2710 ==========================
2711 (Made by StefanW, 18/01/2007)
2714 1. MILESTONE: Argus, GT0286, MS3.14 DS565 CR0960 - Provide a mechanism so that it is possible
2715 to access an entire media address space not just a given partition of an SD Card.
2718 1. MILESTONE: Argus GT0286, MS3.7 DS401 CR0882 - Provide additional attributes to TVolumeInfo to allow
2719 efficient buffer usage for underlying media
2722 ==========================
2723 (Made by DjordjeK, 17/01/2007)
2726 1. DEFECT FIX: PDEF100042: Malformed reloc info can kill loader thread (MCL)
2727 The fix for stability issue where phone may crash if a faulty/corrupted executable image is loaded.
2730 1. DEFECT FIX: DEF099820: Changes in CFileMan (DEF092084) have caused regressions of DevProv ONB tests
2731 Fixes a a regression caused by DEF092084 which caused CFileMan to no longer return KErrInUse when
2732 attempting to remove a directory containing open files using CFileMan::RmDir.
2735 1. DEFECT FIX: INC099941: F32 test T_FNAME is set to fail incorrectly
2736 Changed path and file names to be lower case.
2739 1. DEFECT FIX: PDEF099927: Strange behaviour when connecting USB cable - sometimes not working at all
2743 ==========================
2744 (Made by JonathanM, 09/01/2007)
2748 Naiad,SM013,MS3.20.1,PREQ1110 - Base: Demand Paging Submission (ROM paging only enabled)
2751 1. DEFECT FIX: DEF099820: Changes in CFileMan (DEF092084) have caused regressions of DevProv ONB tests
2752 Fixes a a regression caused by DEF092084 which caused CFileMan to no longer return KErrInUse when
2753 attempting to remove a directory containing open files using CFileMan::RmDir.
2756 ==========================
2757 (Made by OlegI, 18/12/2006)
2760 1. DEFECT FIX:PDEF095997 [codebase]t_ms_mountdrive doesn't (quite) work on emulator
2763 1. DEFECT FIX: PDEF098783 [NQP] Parameter definition is incorrect for RFs::DismountExtension().
2764 2. DEFECT FIX: PDEF098866 [NQP] RFs::GetMediaSerialNumber() error codes differ from documentation
2765 3. DEFECT FIX: PDEF098865 Symbian provided RFs::NotifyChange does not work for root directories like e:\
2768 1. DEFECT FIX: DEF099009: Rename doesn't trigger directory notifiers
2769 Modified change notification to notify clients when a watched directory appears due to a rename operation.
2770 (prior to this, clients would only be notified if a directory disappears and not when it re-appears).
2773 1. DEFECT FIX: PDEF095959: Force Dismount of file systems may have some short comings
2774 Closing an open file handle after a force dismount was causing a file server fault. For non
2775 rugged FAT force dismount was failing to flush uncommitted file length changes.
2776 2. DEFECT FIX: DEF099210: DP: nandtest_rel_autoexec.bat files are not exported as PRJ_EXPORTS
2777 Because the files were exported as PRJ_TESTEXPORTS they were not available to system build.
2780 1. DEFECT FIX: PDEF098658: Connected to PC Mass storage.Unable eject memory card My Computer
2781 2. DEFECT FIX: PDEF098663: USB MS ZLP is not sent when device sends less than expected data length
2785 ==========================
2786 (Made by MichaelMo, 04/12/2006)
2789 1. DEFECT FIX: PDEF097862: Loader problems
2790 Make RImageFinder::Close immune to being called twice by ensuring it NULLs iHeader.
2791 Extended t_loadfail to cover this fix
2792 2. MILESTONE: Open Environment GT314, MS3.13: DS.381:PREQ1466:Base:Open Environment- entry-point lookup by name
2793 Modify loader to ensure that the import tables of non-XIP exe/dlls that link against stdexe/stdll(s) have
2794 the 0th ordinal addresses of the stdexe/stdll(s) fixed up.
2797 1. MINOR_CHANGE: Made some changes to T_FSYSBM: Added read and write tests
2798 with 1MB block size; these show a further increase in performance when
2799 compared to the previous maximum block size of 64KB.
2802 1. DEFECT FIX: PDEF098218: Self-signed application causes Loader to crash by sending invalid IPC messages (
2803 Fix the loader so that when it panics the client for being in a bad
2804 state, it doesn't also crash itself. Extend t_ldrtst to cover this.
2807 1. DEFECT FIX: PDEF096027: Incorrect descriptions in TEntry::iModified
2808 2. DEFECT FIX: PDEF098199: Phone resets when phone is locked manually and remote device lock msg is receivd
2809 3. Minor Change: Remove armv5 compile warning with unreachable break
2812 1. DEFECT FIX: DEF097083: File reading over the length of a buffer is inconsistent
2813 Added user-side check to compare the requested read length with the maximum size of the buffer,
2814 returning KErrOverflow if inappropriate. Also added test testReadBufferOverflow to t_file to exercise this change.
2817 1. DEFECT FIX: PDEF098142 Illegal capability on DevLib.
2818 Corrected insource documentation typo in cl_cli.cpp documentation.
2821 1. MILESTONE: Argus GT0286, MS3.12 DS343,
2822 CR0628 File system should cache normalised text and collation key and upper layer should use them
2825 1. DEFECT FIX: PDEF095924 [codebase] CFileMan::CreateTargetNameFromSource and non-trivial masks
2826 2. DEFECT FIX: PDEF096012 [codebase] CFileMan::RenameInvalidEntryL does not handle special cases
2827 3. DEFECT FIX: PDEF096923 CFileMan::Move moves directories in wrong way in recursive mode
2828 4. DEFECT FIX: PDEF095956 CFileMan not deleting long fullnames correctly
2829 5. DEFECT FIX: DEF094435 Test failures on LFFS drive overnight tests.
2834 ==========================
2835 (Made by KaiD, 20/11/2006)
2838 1. DEFECT FIX: PDEF097586 CBaseExtProxyDrive::DeleteNotify is not implemented.
2839 2. DEFECT FIX: DEF097510 Memory leak when marking bad clusters in FAT.
2842 1. MINOR_CHANGE: Made some changes to T_FSYSBM: Benchmark figures are now
2843 more accurate and are also displayed in MB/s. Increased test file size
2844 from 64KB to 2MB. All test files are now deleted before program exit.
2848 ==========================
2849 (Made by JonCo, 10/11/2006)
2852 1. DEFECT FIX: PDEF096003 - Scandrive should not check DOS file names using local just for standard illegal
2853 Don't perform basic ASCII character check in LocaleUtils::IsLegalChar() when scanning drive
2854 2. DEFECT FIX: PDEF097611: Use TRAP instead of TRAPD in CLffsMountCB::ControlIO()
2855 3. MINOR_CHANGE: Remove f32 & f32test warnings
2858 1. DEFECT FIX: PDEF095988: Volume label operation not consistent with what Windows does
2861 1. DEFECT FIX: PDEF096002: FAT/FAT32 cannot create 8.3 directory entries.
2862 2. DEFECT FIX: PDEF095934: F32 Plugin Architecture is vunerable to BC breaks.
2865 1. DEFECT FIX: PDEF096000: F32Test T_VIRUS puts hook in wrong place
2869 ==========================
2870 (Made by MiguelB, 31/10/2006)
2872 1. DEFECT FIX: PDEF096005 - iClusterBuffer should restrict its max length to just one cluster long
2873 Don't use MaxLength() for real length of buffer. Use concrete number 1 << ClusterSizeLog2()
2874 2. DEFECT FIX: PDEF097059 - Wrong operator precedence in FsThreadManager functions
2875 - TBool b=(t.iIsAvailable && (t.iIsSync)||(!t.iIsSync&&t.iId==id));
2876 + TBool b = t.iIsAvailable && (!t.iIsSync && t.iId==id || t.iIsSync);
2879 1. DEFECT FIX: PDEF096022: (codebase) RFs::ReserveDriveSpace reporting wrong error code
2880 Propagated from DEF091829.
2883 1. MINOR_CHANGE : Added command line auto-completion support to EShell.
2884 2. DEFECT_FIX: DEF097434: [System Build]: KSpaceChar already defined errors in M04059 v9.3 and v9.4
2887 1. DEFECT FIX: PDEF095998: Check for Unvisited clusters in checkdisk should start from Cluster 2 for FAT32.
2890 1. DEFECT FIX: PDEF096010: TDrive-Document is incomplete for many inline functions of this class
2891 Popagated from DEF092752. In source documentation added for TDrive functions.
2895 ==========================
2896 (Made by DmitryL, 18/10/2006)
2899 1. DEFECT FIX: PDEF095998: Check for Unvisited clusters in checkdisk should start from Cluster 2 for FAT32.
2900 2. DEFECT FIX: PDEF096018: [Codebase] T_SCN32DR3 fails when run on a FAT12/16 drive.
2901 3. DEFECT FIX: PDEF096019: Corrupt drives can cause knock-on F32TEST failures.
2904 1. Other Changes: MINOR_CHANGE Reverting fixes for PDEF095963 on MCL as there's no requirement for
2905 disabling multiple ROFS support any more.
2909 ==========================
2910 (Made by YingS, 11/10/2006)
2913 1. DEFECT FIX: PDEF096029: Techview eshell new line rendering/cursor errors
2916 1. PDEF096030: [Codebase] TFindFile makes no check on parameters passed
2917 Defect fixed in f32file.h and cl_find.cpp. Insource document updated also added KErrArgument return value
2918 for Empty file name.
2921 1. PDEF095932: RF Unable to determine if a pre-installed DLL on MMC has a hash file.
2922 Added new method to the RLoader API RLoader::CheckLibraryHash() that allows to check if the corresponding
2923 hash file exists for the gived dll and optionally validate it.
2926 1. DEFECT FIX: PDEF095970: Mass storage mode ejecting fails with XP
2929 1. PDEF095963: 'Flexible ROM configuration' allows customers free rein to modify the OS
2930 - This defect fixing has been reverted on MCL.
2933 ==========================
2934 (Made by IgorM, 21/09/2006)
2937 1. DEFECT FiX: DEF087940: [AQP] t_ms_password emualtor test fails
2940 1. DEFECT FiX: DEF093765 - [codebase] Scandrive can't detect bad single short entry
2941 when no long name entry
2942 Return IsDosEntry(aEntry) if first entry is short entry.
2945 1. DEFECT FIX: DEF094062 : [Codebase]FAT32/SD: End of 2nd FAT should be at the end of a Boundary Unit
2946 SD FileSystem Specification V2.0 states that the start of the user data area of FAT should be
2947 aligned to a boundary unit. Modified the SD drivers to communicate the number of reserved sectors
2948 to the FAT file system to ensure that this constraint is met.
2950 2. DEFECT FIX: DEF094452 : [codebase] FAT32 formatting will fail when we reach 16G capacity
2951 The current implementation of FAT32 was constrained to calculating SPC up to 16G. Fixed
2952 by implementing additional SPC calculations as described in the FAT32 specification.
2955 1. DEFECT FIX: DEF091820: [CodeBase] BPB_RootClus field is not updated when cluster 2 is marked as bad.
2956 Also added code to copy the contents from bad cluster to new one allocated during write.
2958 2. DEFECT FIX: DEF094211: Documentation change of capability requirements for RFs methods.
2961 1. DEFECT FIX: DEF092271: [codebase]CDir::Compress() should be more imformative in dev lib
2963 2. DEFECT FIX: INC092401: RFS::NotifyChange (with three parameters) using parameter ENotifyDir does not wo
2966 1. MINOR CHANGE: Insource documentation updates for asynchronous RFile::Read().
2969 1. DEFECT FIX: DEF091675: [codebase] Some undocumented functions in RFs
2970 Insource documentation added to source file f32/sfsrv/cl_debug.cpp
2971 2. DEFECT FIX: DEF088224: TFindFile::FindByDir returns incorrect error code for platsec violations
2972 Defect fix in source file f32/sfsrv/cl_find.cpp
2974 Two test applications are added: t_findcapall and t_findcapnone
2976 Following files are modified for testing
2977 f32test/group/bld.inf
2978 f32test/group/wintest.bat
2979 f32test/group/romstuff.mke
2980 Following files are added for testing
2981 f32test/server/t_findcaptestfile.txt
2982 f32test/group/t_findcapall.mmp
2983 f32test/group/t_findcapnone.mmp
2984 f32test/server/t_findcapall.cpp
2985 f32test/server/t_findcapnone.cpp
2988 1. MINOR CHANGE: Insource documentation updates for asynchronous RFile::Read().
2991 1. DEFECT FIX: DEF091675: [codebase] Some undocumented functions in RFs
2992 Insource documentation added to source file f32/sfsrv/cl_debug.cpp
2994 2. DEFECT FIX: DEF088224: TFindFile::FindByDir returns incorrect error code for platsec violations
2995 Defect fix in source file f32/sfsrv/cl_find.cpp
2997 Two test applications are added: t_findcapall and t_findcapnone
2999 Following files are modified for testing
3000 f32test/group/bld.inf
3001 f32test/group/wintest.bat
3002 f32test/group/romstuff.mke
3003 Following files are added for testing
3004 f32test/server/t_findcaptestfile.txt
3005 f32test/group/t_findcapall.mmp
3006 f32test/group/t_findcapnone.mmp
3007 f32test/server/t_findcapall.cpp
3008 f32test/server/t_findcapnone.cpp
3012 ==========================
3013 (Made by RichardC, 14/09/2006)
3016 1. DEF093656: RF DriveNumbertoLocalDriveNumber incorrectly declared.
3017 2. DEF093418: Documentation incomplete for class CFsObject & CFsDispatchObject.
3018 3. DEF093419: Documentation incomplete for class CProxyDrive.
3019 4. DEF093420: Documentation incomplete for class CProxyDriveFactory.
3020 5. DEF093421: Documentation incomplete for class CLocalProxyDrive.
3021 6. DEF093422: Documentation incomplete for class CLocDrvMountCB in dev library.
3022 7. DEF093424: Documentation incomplete for member data/functions for class CFileBase.
3023 8. DEF093425: Documentation incomplete for struct TExtensionInfo and TDriveExtInfo.
3024 9. DEF093426: Documentation incomplete for Class CFileShare and TParseBase in dev library.
3027 1. DEFECT FIX: PDEF093691: RF Mount fails on FAT if volume label contains double byte characters
3028 Don't call TrimRight() but only trim trailing spaces ('0x20') and NULL chars ('0x00').
3031 1. DEFECT FIX: DEF092546: [Codebase] KEntryAttXIP and KDebugNotifyMask have no descriptions
3034 1. DEFECT FIX: DEF090389: [Codebase] FAT entry corrupted after unexpected end of sync write
3037 1. DEFECT FIX: DEF093074 [Codebase] Potential problem with scandrive with the japanese character set
3038 Clarify RFs::ScanDrive()'s document with details of errors ScanDrive check
3041 1. DEFECT FIX: INC089638: CFileMan->Move() does not remove all items from source directory
3042 2. DEFECT FIX: DEF092086: [codebase] CFileMan::RunL does not handle ERetry from observer properly
3045 1. DEFECT FIX: DEF093416: [codebase]RFS::LockDrive does not return KErrNotSupported (?)
3046 2. DEFECT FIX: DEF093417: [codebase]RFs::UnlockDrive returns KErrAlreadyExists on emulator
3049 1. DEF085847 [AQP] PREQ1085 was delivered without tests for REQ5268
3050 Extend the ROFS tests to NAND FAT composite file system partitions.
3051 2. DEF093402: codebase]t_rofsdir test tests for root directory Resource twice
3052 Test adjusted to test for root directory Resource once and to check for autoexec.bat file instead
3053 of testing Resource twice.
3054 3. DEF093072: [codebase]MountFileSystemAndScan returns err -21 but ok flag
3055 Initialise aIsMountSuccess to EFalse in RFs::MountFileSystemAndScan() procedures.
3058 1. DEFECT FIX: INC090673: USB disconnection problems with MAC
3059 Check LOEJ bit is set before load/unload of drive.
3062 1. DEF093083: [Codebase] RFile::SetSize panic undocumented
3063 Source file f32/sfsrv/cl_file.cpp updated with in-source documentation.
3066 1. DEF092868 - Dismounting drive returns KErrNotReady
3067 Updated Source documentation for RFs::DismountFileSystem() as following
3068 KErrNotFound, if aFileSystemName is not found;
3069 KErrNotReady, if the drive does not have a file system mounted on it;
3070 KErrPermissionDenied, if the client does not have the necessary capabilities to dismount the file system;
3073 1. DEFECT FIX: DEF091659: [Codebase] T_FATCORRUPT fails on some 1GB SD cards
3074 2. DEFECT FIX: DEF091673: [CodeBase] Version number is not checked before mounting
3077 1. DEFECT FIX: INC087879 - Applications in memory card not opening after re-boot
3078 Not update directory cache in file server code when card is still locked.
3079 2. DEFECT FIX: DEF090642 [CodeBase] - PCB: EikFileUtils::CopyFile API Shows Misleading errorcode
3081 if (FileNamesIdentical(srcName.FullName(),trgName))
3082 User::Leave(KErrAlreadyExists);
3084 if (FileNamesIdentical(srcName.FullName(),trgName))
3085 if (iSwitches&KOverWriteFlag)
3086 User::Leave(KErrNone);
3088 // return an error if !KOverwrite
3089 User::Leave(KErrAlreadyExists);
3090 3. DEFECT FIX: DEF092975 - [Codebase] Checkdisk does not report invalid values in an entry
3091 Make RFs::CheckDisk()'s in-source comment clearer.
3094 1. DEFECT FIX: DEF091818: [codebase] TFindFile finds directories
3095 Update documentation to reflect this behaviour; it's always been that
3099 1. DEFECT FIX: DEF091265: [Codebase] Formatting in f32tests should use the ESpecialFormat mode.
3100 Modified FAT formatting code to always use special formatting options if supported
3101 by the media driver. This ensures that media such as SD cards are formatted for
3102 optimal performance.
3103 2. DEFECT FIX: DEF084005: File System threads should have useful names
3104 Drive threads are now named, containing the local drive number to assist debugging.
3107 1. DEFECT FIX: DEF091187: [codebase]RFs::IsFileOpen accepts directories as file argument
3108 Modified the in-source comment to specify more precisely.
3112 ==========================
3113 (Made by ParameshwariB, 29/08/2006)
3115 1. DEF091904: [codebase]CDirScan behaves oddly if scan dir specified without \\
3116 Documentation updated.
3119 1. DEF093321: [Codebase] Formatting for FAT32 when FAT32 isn't in the ROM causes panic.
3120 Fat16 files system will now report not support if requested to use FAT32 formatting
3123 1. PDEF092815: Scandrive should not check DOS file names using local just for standard illegal
3124 Don't perform basic ASCII character check in LocaleUtils::IsLegalShortNameCharacter() when
3128 1. DEF090863: [codebase] RFs::ReadFileSection reads directories ?
3129 ReadFileSection function updated for checking empty directories. Added new function to check
3130 empty directories at server-side. t_rdsect tests updated for the same.
3133 ==========================
3134 (Made by OlegI, 21/08/2006)
3137 1. DEF090855: [codebase] RFs::ReadFileSection reads without any file being passed
3138 ReadFileSection function updated for zero length file checking. t_rdsect tests updated for the same.
3139 2. DEF091545: [Codebase] RFile::Write(const TDesC8 &aDes, TInt aLength) is uninformative.
3140 RFile::Write functions updated for zero length file checking.t_file tests updated for the same.
3141 3. DEF092368: [Codebase]RFs::CharToDrive accepts lower case
3142 Source documentation changed for RFs::CharToDrive , added "a to z".
3143 4. DEF092147: [codebase] RFs::Rename accepts Zero Length File Name.
3144 Zero length checking condition added in RFs::Rename function. Tests b_gen updated for the same.
3145 5. DEF090654: (Codebase) MFileManObserver::NotifyFileManStarted behaves strangely with ECancel
3146 Modified function EXPORT_C void CFileBase::RunL() and void CFileMan::CompleteOperationL()
3147 Also added addition test cases in t_fman.cpp
3148 6. DEF091508: [codebase] RFile::Read(TDes8 &aDes, TInt aLength) accepts a negative length
3149 RFile::Read function source documentation updated. Read function checked for negative length input.
3150 Also test modified for the same.
3153 1. DEF092019: [Codebase] RRawDisk::Read RRawDisk::Write reporting KErrCorrupt wrongly
3154 TFsRawDiskWrite::DoRequestL and TFsRawDiskRead::DoRequestL now handle the case in which
3155 a negative positionhas been given as input RRawDisk::Write and ::Read respectively and
3156 return KErrArgument.
3157 2. PDEF092580: EMediaNotPresentCritical state not supported please remove references to it
3158 All references to EMediaNotPresentCritical have been removed.
3161 1. DEF091920: RFile::Read(): Document says return value for a void function Read()
3162 Insource document is changed from description of return value to updates aStatus parameter with
3163 corresponding error code, since this is void function no return value description is applicable
3167 1. PDEF092432: miniSD:Cannot boot up with 2GB miniSD which formatted FAT 16 by PC.
3168 Fixed ScanDrive to skip bad clusters.
3169 2. DEF092047: [codebase] CDir::Sort() behaves strangely when invoked with EDirDescending
3170 documentation updated.
3171 3. MINOR CHANGE: Eshell "format" command extended to support "sectors per cluster" value for user FAT formatting
3172 4. MINOR CHANGE: Eshell "gobble" command performance improved.
3173 5. MINOR CHANGE: New parameters in epoc.ini file: "MultiMediaCardSlots" & "MultiMediaCardsNum"
3174 that specify number of emulated MMC cards and slots
3175 6. MILESTONE: Bravo,GT0236,MS3.25 PREQ1192 REQ6179 Dedicated cache for FAT metadata.
3176 Introduced dedicated cache for FAT directories.
3180 ==========================
3181 (Made by NeilC, 16/08/2006)
3184 1. MINOR_CHANGE: CR PSCE-6Q5KKD Add support in F32 to enable/disable Rugged FAT on a per-drive basis
3185 NOTE TO LICENSEE: This feature gives ability to switch between rugged and non-rugged
3186 file system. By defualt, file system is rugged. The benefit of using non-rugged FAT is
3187 performance gain from file read/write operation, yet there is risk of loss of data integrity.
3188 2. PDEF091955 Issues with estart
3189 Change arguments' order in function call.
3190 3. DEF091858 Generic Estart defaults to SSR rather than XSR
3191 Use __NAND_SSR__ instead of __NAND_XSR__ and change default behavior to __NAND_XSR__.
3192 NOTE, licensee who wants to use __NAND_SSR__ can define macro __NAND_SSR__ in own
3193 version of estart.mmp.
3196 1. DEF091461: Redefine ESystemDrive HAL attribute and ensure it is always set.
3197 Implementation of CR0896, sets EsystemDrive attribute in EStart through use of FS_SYSTEM_DRIVE keyword.
3202 ==========================
3203 (Made by MiguelB, 08/08/2006)
3206 1. PDEF091960 LFFS Mount makes excessive accesses to media.
3209 1. DEF091176: [codebase] Renaming to _L(""), seems fine to CFileMan
3210 Clarified the in-source comments and extended the tests in t_fman.cpp to demonstrate.
3211 2. DEF091830: All EStart variants should gain PowerMgmt capability
3212 Added capability to all relevant MMP files (all except the one that has
3213 specifically excludes Domain Management, omap_hrp\h4_mebootloader). Also
3214 implemented run-time test in generic estart initialisation code to check
3218 1. DEFECT FIX: PDEF085986: Mass Storage Periodic data transfer timer is always active
3219 Make iTimer stop after afew seconds of inactivity or when USB disconnected
3223 ==========================
3224 (Made by MichaelP, 03/08/2006)
3227 1. DEF091573 [codebase]NotifyFileManOperation() does not cancel a copy operation correctly.
3228 Changed CFMAn::NotifyFileManOperation description to correspond to the functionality.
3231 1. PDEF091940: RFs::RemountDrive description is wrong
3232 Added descriptions for flags:
3233 0x00000001 - Used to simulate ejecting and re-inserting the media.
3234 0x80000000 - used to force the media driver for the specified logical
3235 drive to be closed and reopened.
3238 2. DEFECT FIX: PDEF091959: File server fault occurs due to disconnect request completing with KErrNotReady
3239 When dismounting a file system, all outstanding requests for the drive are completed with KErrNotReady.
3240 Session disconnect would fault if completed with any error other than KErrCancel.
3244 ==========================
3245 (Made by RobertJ, 19/07/2006)
3248 1. PDEF090121: NAND thread crash when doing async writes to internal memory.
3249 TInt DMediaDriverNand::DoWrite() paniced for zero length source descriptors - this was crashing
3253 1. DEF090699: [codebase] Returning ECancel to MFileManObserver::NotifyFileManEnded - no effect
3254 Added "MFileManObserver::ECancel will not cancel processing the current
3255 entry" comment in MFileManObserver::NotifyFileManEnded()function.
3258 1. DEF090994: [codebase] RFS::ReadFileSection writes buffer length even if it fails
3259 Modified server-side code to reset the descriptor length to zero in the event of an error.
3260 Extended t_readsect to test this condition.
3261 2. DEF091173: [codebase] Copy to a directory_L("") seems fine with CFileMan
3262 In-source documentation made more explicit.
3266 ==========================
3267 (Made by StefanW, 11/07/2006)
3270 1. DEFECT FIX: DEF088863 - T_FSRVBM performance down by fix for DEF079957
3271 2. DEFECT FIX: DEF090715 estart.exe for h4 does not have an explicit SID
3272 Added SID to estart.mmp of h4 and integrator as well.
3275 1. CHANGE REQUEST: PCHY-6PALT2: Add asynchronous Flush() and define ranges for file attributes.
3276 2. MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
3277 Added support for >2G SD Cards conforming to the SD2.0 version of the specification.
3278 3. DEFECT FIX: DEF077215: T_SCN32DR1 fails when using 4GB CF card
3279 On the FAT32 file system, the root directory can grow which was not taken into account in this
3280 test. This caused tests to fail when the root directory extended into a new cluster. Modified
3281 the test code to ensure that when creating files, the root directory does not grow in size.
3282 4. DEFECT FIX: INC090262: T_FSYS F32test fails on 1G MMC FAT32 Formatted
3283 T_FSYS would attempt to auto-detect the type of file system by reading the boot sector, then
3284 explicitly mount the FAT or FAT32 file systems by name. This fails, as both the FAT and FAT32 file
3285 systems share the same object name ("FAT"). Changed to only mount with the name "FAT". In order for
3286 this (or any) tests to operate correctly on large/FAT32 volumes, you must ensure that the FAT32 file
3287 system is present in ROM (using the WITH_FAT32 macro).
3290 1. DEFECT FIX: DEF082033: USB Mass Storage drivers do not report suspended host machines correctly
3291 2. MINOR CHANGE: Remove ARM4 warnings introduced in DEF082033
3294 1. DEFECT FIX: PDEF087543: RFs::FileSystemName behavior is different from devlib
3298 ==========================
3299 (Made by JohnS, 07/07/2006)
3302 1. DEFECT FIX: PDEF087113 Licensee would like up to change the way fat type is calculated.
3305 1. DEFECT FIX: DEF081323: [AQP] T_SCN32DR3 fails on fat32 formatted 4GB CF card using Lubbock
3306 2. DEFECT FIX: DEF076350: [AQP] T_FATCORRUPT fails on 4GB CF card
3309 1. DEFECT FIX: INC088228 - No way to show the progress of a format operation in ESTART
3310 Added virtual function ShowFormatProgress() in estart.
3314 ==========================
3315 (Made by GavinT, 23/06/2006)
3318 1. DEFECT FIX: DEF087791: CFileMan::Move leaves with KErrPathNotFound if destination path does not exist.
3321 1. DEFECT FIX: PDEF087663: USB mass storage SCSI mode sense and request sense invalid responses
3322 Testing for the presence of a single bit in a bit field now uses '&' rather than '=='
3326 ==========================
3327 (Made by JoR, 13/06/2006)
3329 1. Ranisuneela Motru
3330 1. DEFECT FIX: DEF087350: RFs::ErasePassword documentation should indicate the media may need formatting
3331 Modified in-source documentation as necessary
3335 ==========================
3336 (Made by RobertJ, 08/06/2006)
3339 1. DEFECT FIX: DEF083235 - HAL Attributes (eg screen calibration) lost if the battery
3340 is pulled out (Base part)
3341 Changed TFSStartup::InitialiseHAL() to call halsettings.exe.
3344 1. DEFECT FIX: INC078251: F32 is wasting RAM for TFileName class members
3345 Added new class, TParsePool, to manage a pool of TParse objects. As requests
3346 are made, objects are taken from the pool and returned when no longer needed.
3350 ==========================
3351 (Made by DjordjeK, 06/06/2006)
3354 1. DEFECT FIX: DEF081770: The Loader should verify compression type.
3357 Patch to Version 2.00.1132
3358 ==========================
3359 (Made by RobertJ, 02/06/2006)
3362 1. INTERFACE CHANGE: BR1889.1 DEF087365: f32 not compatible bettwen 9.1 & MCL
3363 2. DEFECT FIX: DEF087365: f32 not compatible between 9.1 & MCL
3364 Needed to change def files for BWINS, BX86 & EABI also
3367 ==========================
3368 (Made by DavidM, 26/05/2006)
3371 1. DEFECT FIX: DEF086974 - The fix for DEF074824 is not valid if the local drive mapping file is missing
3372 Apply same fix code of DEF074824 to function TFSStartup::DetectAndMountFileSystems()
3375 1. DEFECT FIX: DEF085952: t_soak1 crash on exit.
3376 t_soak1 invariably faults and sometimes crashes when run on an LFFS drive. The fault and subsequent
3377 crash follow on from detecting a difference in the sizes of the free, close and allocated queues just
3378 prior to starting the test and just after finishing it. The test has been modified to wait for the
3379 test threads to complete prior to checking for inbalance - this fixes the fault but masks the crash.
3380 The crash is fixed by applying a further modification to the file server code that stops the procedure
3381 RequestAllocator::OpenSubFailed() from being called twice following on from a leave when opening
3382 a file or directory. Such leaves may result from attempts to open files or directories from a thread
3383 just as it is dying.
3386 1. DEFECT FIX: DEF084675: Corrupted miniSD not detected as corrupted by phone
3387 Propagated from INC083446. Changed TDrive::CheckMount() so that after three
3388 failed attempts at mounting the drive we give up until a media change.
3391 1. INTERFACE CHANGE: BR1889.1 DEF087365: f32 not compatible bettwen 9.1 & MCL
3392 2. DEFECT FIX: DEF087365: f32 not compatible between 9.1 & MCL
3395 1. Milestone: Argus,GT0286,MS3.2
3396 Extended EFILE (loader) to recognise and load executable image compressed by Byte Pair algorithm.
3400 ==========================
3401 (Made by AndreasP, 22/05/2006)
3404 1. DEFECT FIX: DEF085923 - ESTART fails to mount a second filesystem if a primary extension is re-used
3406 ++ if (r == KErrNone || r == KErrAlreadyExists)
3409 1. DEFECT FIX: DEF085298: RFile::Read crashes H2 board when supplied a negative length
3410 The negative length parameter on a file read was not being properly trapped for two media types
3411 i.e RAM & emulator NAND. This has been fixed.
3414 1. DEFECT FIX: DEF086407: RFile::Create() does not create the private directory
3415 Changed in-source documnetation to emphasise the fact that... "If the resulting path
3416 does not exist, then the operation cannot proceed and the function returns an error code."
3419 1. DEFECT FIX: DEF073924: CFileMan::Move does not move an empty directory across drives
3420 2. DEFECT FIX: INC074828: CFileMan::Move moves content of directory correctly but returns KErrPathNotFound
3421 3. DEFECT FIX: INC078759: CFileMan::Move moves directories in wrong way in recursive mode
3422 4. DEFECT FIX: INC078800: CFileMan::Move - directory itself moved with content when moving across drives
3425 1. DEFECT FIX: DEF085241: Mass Storage documentation update
3429 ==========================
3430 (Made by AttilaV, 15/05/2006)
3433 1. DEFECT FIX: DEF085946 If Fat32 storage (MMC/SD/HDD) is formatted with a volume label, B_GEN test fails.
3434 Fixed a problem with FAT cache alignment.
3435 2. MINOR_CHANGE: Eshell extended. "Format" command now can accept FAT type specifier(fat12, fat16, fat32) for FAT media;
3436 new "DRVINFO" command added that shows information about drives in the system.
3437 3. DEFECT FIX: DEF085356 LFFS crashes on manually corrupted image.
3438 Fixed a problem (only for release build) when LFSS couldn't cope with artificially corrupted image.
3439 For debug build ASSERT still works.
3440 4. MINOR_CHANGE: Added epoc.ini "FlashForceImgMount" parameter support to allow force mounting of LFFS images.
3444 ==========================
3445 (Made by NicholasC, 09/05/2006)
3448 1. DEFECT FIX: DEF083563: Unable to get post intercept for EFsDirReadPacked
3449 Propagated fix from INC82565
3450 2. DEFECT FIX: DEF083523: base_f32: Not possible to get filename, pos and length in RFs::ReadFileSection
3451 Propagated fix from INC81842
3452 3. DEFECT FIX: DEF083999: Fileserver plugins should not cause completion of RFs::NotifyChange
3453 Propagated fix from INC82877
3454 4. DEFECT FIX: DEF084204: Improve FAT mount performance by increasing FAT cache
3455 Propagated fix from INC80245
3458 1. DEFECT FIX: DEF076507: Propagated: ContentAccess::CManager::GetDir sorts files in wrong order
3459 Changed TKeyDir::Compare() to search from the end rather than the beginning of the filename when
3460 looking for the extension separator
3463 ==========================
3464 (Made by RichardCo, 04/05/2006)
3467 1. DEFECT FIX: DEF083998: Envelope icon doesn't stop blinking until phone is rebooted
3468 Applied fix from INC074134 to TDiskSpaceQue::CheckDiskSpace(TInt64&)
3471 ==========================
3472 (Made by RobertJ, 26/04/2006)
3475 1. INTERFACE CHANGE: BR1783.2 Change to the error code returned by RFs::AddFileSystem when mass-storage
3476 file system already exists. Current (erroneous) value returned is KErrNoMemory - this change is to
3477 return KErrAlreadyExists instead.
3478 2. DEFECT FIX: DEF079149: File server crash when re-adding MSFS.FSY
3479 The message completion code was trying to access drive information even when there was no drive. Now
3480 the code only tries to access drive information when a drive is present.
3481 3. DEFECT FIX: DEF080979: RFs::AddFileSystem, wrong error code when re-adding the mass storage file system
3482 Adjust the mass storage file system factory function so that if the server thread is running, a pointer
3483 to the new file system object is returned in place of a null pointer. The calling code now cleans up
3484 the new file system object.
3485 4. DEFECT FIX: DEF083801: Isetta: "Windows was unable to complete the format" for 256MB MiniSD card
3486 It is now possible to format cards for FAT32 using the USB Mass Storage Feature and a USB XP Host. The
3487 fix was to modify CScsiProtocol::HandleReadCapacity() to write the Last Block Address instead of the
3489 5. MINOR_CHANGE: Modify usb-mass-storage-low-level-driver-test-code to
3490 write endpoint data correctly.
3491 6. MINOR_CHANGE: Add trace information to Mass Storage FileSystem code.
3494 1. DEFECT FIX: DEF083986: USB mass storage class doesn't detach from Apple MAC/Tiger
3495 2. DEFECT FIX: DEF084421: Mass Storage File System manual regression test failures for emulator.
3498 1. DEF081788: Chinese MMC card name is corrupted during bootup
3502 ==========================
3503 (Made by RobertJ, 11/04/2006)
3506 1. DEFECT FIX: DEF071138: Filesystem error in Thunder.
3507 2. MINOR_CHANGE: Fixed ARMV5 compiler warnings in LFFS code.
3511 ==========================
3512 (Made by VamosA, 27/03/2006)
3515 1. DEFECT FIX: DEF082321: Installer - shows blank field if memory stick has no name
3516 MountL() functions in both FAT and FAT32 modified to trim trailing whitespace
3518 2. DEFECT FIX: DEF082323: New volume label test code in T_FSRV is wrong
3519 IsFileSystemFAT32() and IsFileSystemFAT() modified to read BPB.
3522 1. DEFECT FIX: DEF083227: FAT: Debug ASSERT is incorrect
3526 ==========================
3527 (Made by MarkTa, 20/03/2006)
3530 1. DEFECT FIX: DEF082324: Install from memory card - sis file not recognised if stored in root folder o...
3531 Pad volume name with spaces instead of NULLs.
3534 1. DEFECT FIX: DEF081515 - RFs::FinalizeDrives() call fails.
3535 - TInt nDrv = aRequest->DriveNumber(); //-- the number of the drive, requested to be finalised
3536 + TInt nDrv = aRequest->Message().Int0(); //-- the number of the drive, requested to be finalised
3537 - nRes = SendReceive(EFsFinaliseDrive,TIpcArgs());
3538 + nRes = SendReceive(EFsFinaliseDrive,TIpcArgs(i));
3539 2. DEFECT FIX: DEF083005 - Opening/closing keyboard when USB File Transfer is being established
3540 Comment out all iNotifier.Connect() calls.
3544 ==========================
3545 (Made by MichaelP, 14/03/2006)
3548 1. DEFECT FIX: DEF077207 - t_scndr1 test is failing for emulator (winscw). This is a manual f32 test.
3551 1. DEFECT FIX: DEF081620 File server crashes under load
3552 Made CServer2's iSessionQ thread-safe by implemented CServerFs::RunL() and aquiring
3553 a mutex whenever (1) a RMessage2::EConnect is received or (2) the disconnect thread
3557 1. DEFECT FIX: DEF080233 - Drive mapping files broken for H2/H4
3558 Nandloader now obtains information from all drives numbered within the range of 0 and KMaxDrives.
3559 The first drive that is of type KPartitionTypeRofs is the first usable ROFS drive which we are interested in.
3560 If such a drive is not found then Nandloader uses testgui::KDefaultDrive (7) as before. In both cases though
3561 that value gets overwritten if the -d option has been used to specify a drive number for the NAND area.
3562 2. MINOR_CHANGE: Changes to the test framework prior to System Test (India) submission.
3565 1. DEFECT FIX: DEF076344: B_OPEN fails when using 4GB CF card
3566 Comparison between disk size and file size now made using TInt64, so that
3567 large disk sizes are not interpreted as negative.
3571 (Made by MaximK, 07/03/2006)
3572 ==========================
3575 1. DEFECT FIX: DEF080853 - SS31 File Transfer mode does not resume activity after PC is awakened from
3577 Function HWStart was modified to take a boolean argument to control whether or not
3578 ReadAndDiscardData() is called. This was then used to prevent ReadAndDiscardData() after a reset.
3580 2. DEFECT FIX: DEF082243 - Mass Storage failure. Bulk Transport handles case badly
3581 Call to ReadAndDiscardData() was relocated in CBulkOnlyTransport::RunL() to after the transfer is complete.
3584 1. DEFECT FIX: DEF074909: Deadlock scenario possible in F32 plugin architecture.
3585 Various plugin operations could cause deadlock situations due to recursive I/O.
3586 Additionally, plugin initialisation occurred in main thread context making it
3587 impossible to perform file IO at this stage without again causing deadlock.
3589 - Plugin initialisation/cleanup now occurs in plugin thread context.
3590 - Internal plugin requests (Open/Dismount etc...) are handled in the correct thread.
3591 - Synchronous operations (or requests to synchronous drives) that originate (or are
3592 dispatched via a plugin thread are now handled in main thread context.
3593 - Plugin helper functions (GetName etc..) updated to ensure correct operation.
3597 (Made by RobertJ, 01/03/2006)
3598 ==========================
3601 1. DEFECT FIX: DEF080559: [BLOCKING] EFsFileReplace is not possible to postintercept
3602 Propagate changes from 9.1/ INC078459
3603 2. DEFECT FIX: DEF076086: B_FAT32 fails on 4GB CF card using Lubbock
3604 Test included a constant value intended to be large enough to return KErrCorrupt
3605 when it was read from. This was invalid for the 4Gig card and has been altered to
3606 scale better with card size.
3609 1. DEFECT FIX: DEF079957 - FAT Inefficient name matching when opening files
3610 Moving these to a single test outside the loop reduced the time to open 500 file from 6.2 seconds to 3 seconds
3613 1. DEFECT FIX: DEF079753 - FAT table cache is not flush before closing, resulting in EFile panic if
3615 Added code to flush the FAT table data for bad sector cluster in FAT and FAT32 filesystem.
3618 1. DEFECT FIX: DEF081267 - CFatFileCB::SetSizeL returns KErrTooBig for size greater than 1GB
3619 Modified function CFatFileCB::CalcSeekIndexSize (used by SetSizeL) to use an unsigned instead of
3620 signed integer for it's bit shifting so that sizes upto (2^31)-1 bytes (just under 2GB) are now
3624 1. DEFECT FIX: DEF080552 - Menu: System error (-1)' shown, when trying to open Web after phone has been communicating with PC using USB
3628 (Made by CarlosF, 21/02/2006)
3629 ==========================
3632 1. DEFECT FIX: DEF080218: CrashRead coorupt media on disk full
3633 FAT implementation does not correctly handle the case where a currently
3634 zero-length file tries to be extended to more than the available space
3635 on the disk. Fixed and implemented a test case in B_FAT, and updated
3636 chkdsk to detect this condition.
3639 1. DEFECT FIX: DEF078793: RFile::Open fails with KErrPermissionDenied
3640 when opening a file in Z:\resource>.
3641 The fix relaxes the capabilities rules for RFile::Open. \resource
3642 files may now be opened in EFileShareReadersOrWriters|EFileRead access
3643 and share mode, without the user having TCB capabilities.
3645 2. MINOR_CHANGE: Correct system file access tests in test programs
3646 t_dcdiskadmin, t_dcdiskadminallfiles and t_dcnone.2.
3649 1. DEFECT FIX: DEF078946: Time limit for lazy dll unloading should be configurable.
3650 Propagate changes from v9.1.
3653 (Made by NicholasC, 14/02/2006)
3654 ==========================
3657 1. DEFECT FIX: DEF076092: EFileShareReadersOrWriters handling in TFsFileWrite::DoRequestL() is wrong.
3660 1. DEFECT FIX: DEF078788 - Platform Security data caging error in estart.cpp (Base part of fix)
3663 1. DEFECT FIX: DEF073538: Creation of directories on FAT systems is sub-optimal
3664 2. DEFECT FIX: DEF075820: T_FALSESPACE fails on large drives
3667 1. DEFECT FIX: DEF074548: Greater than 2GB storage not supported. - N91
3668 Propagated from 9.1/ 8.1b.
3669 2. MINOR CHANGE: Add note to comments for RFs::MkDirAll and RFs::MkDir
3673 (Made by AndreasP, 06/02/2006)
3674 ==========================
3677 1. DEFECT FIX: DEF079276 - comments for RFile::Write() are incorrect. In-source documentation corrected
3680 1. MILESTONE: Intulo GT262, MS3.8 PREQ1085 Flexible device ROM configuration
3681 BR1725: Change DMedia class to support more than four (>4) partitions on a media device
3683 This adds support to the composite file system for multiple (more then rom and one rofs)
3684 partitions, and the ability to hide files accross seprate rofs.
3686 2. DEFECT FIX: DEF068715 - Base overnight test should test Composite FS
3689 1. DEFECT FIX: DEF079645: Write to file fails on WINSCW if file aleady opened for reading.
3690 In the emulator files are now always opened with Windows for Read and Write (unless not
3691 possible, i.e. read only files) as the file server will arbitrate access appropriately.
3694 1. DEFECT FIX: INC074894 - MMC app does not refresh its view, when card is unlocked
3695 Add EFsLockDrive & EFsUnlockDrive in TOperation::NotifyType() so that ENotifyDisk notification can be sent out.
3699 (Made by RichardCo, 01/02/2006)
3700 ==========================
3703 1. DEFECT FIX: DEF078302: ReserveDriveSpace() returns no errors although memory runs out
3704 ReservDriveSpace() now check to see if the total amount of reserved space requested for
3705 a drive exceeds the available free space. If it does then KErrDiskFull is returned.
3706 F32 test T_FALSESPACE is updated to reflect this change in behaviour.
3709 (Made by JonCo, 23/01/2006)
3710 ==========================
3713 1. DEFECT FIX: DEF070648: ESTART.TXT parsing doesn't work with >2 drive flags
3717 (Made by NeilC, 16/01/2006)
3718 ==========================
3721 1. MINOR CHANGE: Tidy up f32test\group\wintest.bat
3724 1. DEFECT FIX: DEF066623 T_CFSSOAK fails
3727 1. DEFECT FIX: INC077362: Vulnerabilities in the Loader
3728 Fix the loader's handling of executables which have an uncompressed size >2GB, or
3729 a larger dllRefTableCount than there are entries in the file for. Both these cases
3730 caused the loader to crash, taking down the OS. No security vulnerabilities were
3734 1. DEFECT FIX: DEF075112: Locale is loaded after MMC is mounted which causes MMC name corruption
3737 1. DEFECT FIX: DEF077497 - Wrong memorycard label
3738 Added code to reload volume label from a volume label file when the volume is being mounted.
3739 Also created a test case.
3742 1. DEFECT FIX: DEF077913: FAT driver is not compliant with FAT
3743 specification for starting with 0xE5 char.
3744 Propagate changes from INC073747
3747 (Made by JenniferH, 12/01/2006)
3748 ==========================
3751 1. DEFECT FIX: DEF074713 ASSERT not inserted into CFileCB::DemoteShare() as this would crash b_open
3752 Ensure CFileShare calls CFileCB::PromoteShare() immediately after it's constructed to prevent
3753 hitting an ASSERT caused by the CFileShare destructor calling CFileCB::DemoteShare()
3757 (Made by JonathanM, 04/01/2006)
3758 ==========================
3761 1. DEFECT FIX: DEF075737: T_FATCORRUPT fails for FAT16 media > 128MB
3762 Added code to t_fatcorrupt, in method DoTestUserFormatL() to calculate the sectors per
3763 cluster depending on the volume size.
3764 Changed CFatFormatCB::BadSectorToCluster() so that the code is the same as for FAT16 -
3765 Before this the code didn't correctly handle a bad sector occuring in the FAT / root directory.
3767 2. DEFECT FIX: DEF075841: Danger of heap corruption in the file server request allocator.
3768 Fixed possibility of heap corruption introduced by fix for DEF073693.
3771 1. DEFECT FIX: DEF070027: TFileMode doc is wrong & ChangeMode operation
3774 1. DEFECT FIX: DEF065087: Created Time/Date field missing when file/dir is created on the FAT filesystem.
3775 Two new member variables have been added to struct SFatDirEntry to hold the creation date (iDateC) and time (iTimeC).
3776 These variables are being updated everytime a directory or file is being created and when a file is being replaced.
3779 (Made by AttilaV, 12/12/2005)
3780 ==========================
3783 1. DEFECT FIX: DEF074291 - Scandrive deletes file if named with Japanese characters
3784 Seperate ScanDrive from MountDrive; this allows drives to be mounted followed by
3785 locale loading. Scanning drives after locale is set thus can recognise non-ascii filename.
3788 1. DEFECT FIX: DEF066537 - T_SCNDR3 and T_SCN32DR3 fail
3789 Increase stack size to 16k.
3790 Update tests to cope with data caging.
3791 Update tests to take into account existence of the f32-tst directory.
3794 1. DEFECT FIX: DEF073795: DMA is not used in USB file transfer mode
3795 Propagate changes from INC072172 (v9.1)
3796 2. DEFECT FIX: DEF073800: USB data throughput rate in mass storage class mode is too low
3797 Propagate changes from INC069059 (v9.1)
3800 1. DEFECT FIX: DEF073111: Documentation of TFindFile (f32file.h) omits any references to Capabilities
3803 1. DEFECT FIX: DEF074815: File Server disk space notification doesn't take reserved space into account
3804 TDiskSpaceQue::CheckDiskSpace() was modified to adjust the amount of free space reported
3805 by the drive. It now only includes the reserved space on the drive if the session has
3809 1. DEFECT FIX: DEF075119: FAT32 Scan drive : cluster range incorrect for non-standard root cluster volumes
3810 For FAT32 volumes with a root directory cluster of something other than 2, the cluster range
3811 checking was incorrect.
3814 (Made by JohnS, 30/11/2005)
3815 =========================
3818 1. MINOR CHANGE: Test tags added in T_NOTIFY for MS3.8 (Bravo)
3821 1. DEFECT FIX: DEF074429 - RFormat::Open returns KErrNone, even if card is locked.
3822 Modify FsFormatOpen to check if drive is locked and if so return KErrLocked (previously
3823 this didn't happen until RFormat::Next was called).
3824 Modify test t_pwstr to reflect this change and to check for regressions in the future
3825 (N.B. this is a manual test as it requires user interaction)
3829 (Made by YingS, 21/11/2005)
3830 =========================
3833 1. DEFECT FIX: DEF069977 - f32test cannot be built at SEMC
3834 Reengineered t_fatext and t_fatcorrupt.
3835 Reorganised code of handling bad blocks on disk in slocal & sfat32.
3837 2. DEFECT FIX: DEF073693 - File server incorrectly treats ROM drive as substituted
3838 Using User::AllocZ() to pre-allocate space for array to guarantee that the whole
3839 space is cleared and set to zero. By doing this we can promise that no unwanted
3842 3. MINOR_CHANGE: Fix file server panic
3843 Add ValidateDriveDoSubst() check in TFsFinaliseDrive::Initialise().
3846 1. MINOR_CHANGE: Fixed T_OPEN failure
3847 Test harness modified to only consider the results of TFileOpenScan::NextL()
3848 for the threads it is interested in.
3849 2. DEFECT FIX: DEF072397 - CFileMan::Copy synchronous operation is not synchronous
3850 Updated API documentation for the TTime parameter to CFileMan::Attribs() as this
3851 was incorrect. Changed CLocalMount::SetEntryL() to close the handle if the attempt
3852 to set a file's or directory's timestamps failed.
3853 3. DEFECT FIX: DEF062875 - TOpenFileScan::ThreadId() always returns the id of the calling thread
3854 TThreadId now stored in the CSessionFs when the file is opened.
3855 T_OPEN modified to incorporate a new test for this defect.
3859 (Made by MichaelP, 15/11/2005)
3860 =========================
3863 1. DEFECT FIX: DEF067976: MR1: Force Erase of MMC lock UI until complete
3864 Added a new value (EForceErase=0x400) to enum TFormatMode so that the RFormat
3865 API can now be used to force erase a locked card. The RFormat::Next() method has
3866 an asynchronous overload so that now a client can regain control while a forced
3867 erase is in progress, rather than using the synchronous method RFs::ErasePassword().
3869 2. DEFECT FIX: DEF072881: Storing MMC password to C drive doesn't work no directory c:\\Sys\\data
3872 1. DEFECT FIX: DEF067960 - Cannot connect the Mass Storage file system more than once! This
3873 fix allows the USB Manager to connect the Mass storage file system more than once. It is
3874 supposed to be applied together with the solution to DEF066399 a Shortlink defect.
3876 2. DEFECT FIX: DEF068041 - RUsbMassStorage::Connect() isn't very secure. This method now
3877 checks the server id as well as the server name for the Usb mass storage server.
3879 3. MINOR CHANGE: Modify usbmsapp.exe (e32utils/usbmsapp/usbmsapp.cpp) so that the logical
3880 device USBC (EUSBC.LDD) gets 'freed' when the application terminates.
3884 1. DEFECT FIX: DEF073107 - Safe remove on PC side does not affect phone
3885 Add Connect Drive code in CBulkOnlyTransport::HwStart();
3886 Add Disconnect Drive code in CBulkOnlyTransport::HwStop().
3889 1. DEFECT FIX: DEF072541: Class CRawDiskCB stores bit fields in a TBool
3890 Declare iFlags as TUint32 instead of TBool
3892 2. DEFECT FIX: DEF072539: Identifier 'CMountCB::Locked()' redeclared from TBool to TInt
3893 Changed declaration in f32fsys.inl to match that in f32fsys.h, return type is now
3894 TBool in both files.
3896 3. DEFECT FIX: INC071913: RFile.Temp() "mangles" path given to capitals
3897 Removed call to aName.Uppercase in TDrive::FileTemp.
3900 1. DEFECT FIX: DEF072746 - CFileMan.Move() moves files in wrong way in recursive mode
3901 Changed so that if the recursive flag is set and the source path is a subset of
3902 the target path then the directory scan direction should be upward.
3905 1. DEF070648: ESTART.TXT parsing doesn't work with >2 drive flags
3909 (Made by MichaelMo, 08/11/2005)
3910 ============================
3913 1. DEFECT FIX: DEF071735: Scan drive for fat32 should check cluster range
3914 Renamed CScanDrive::AlreadyUsed() to CScanDrive::AlreadyUsedL()
3915 Renamed CScanDrive::SetUsed() to CScanDrive::SetUsedL()
3916 Changed both functions to leave with KErrCorrupt if cluster out of range.
3918 2. DEFECT FIX: DEF072510: Dotdot cluster number of directory below root should be null
3919 Changed code to ensure that the "dotdot" cluster number is zero when the parent
3920 is the root directory (before the cluster number was 2 for FAT32).
3923 1. DEFECT FIX: DEF068791: RFs::GetDir(..), Sorting filenames works wrong
3924 Changed sorting algorithm to use different collation method that considers punctuation
3926 2. DEFECT FIX: INC070455: RFile.ChangeMode() panics
3927 Removed magic number from string length
3931 ============================
3932 (Made by DmitryL, 31/10/2005)
3935 1. DEFECT FIX: DEF068789: Operator new crash in elffs
3936 Heap allocation in TVolumeMetrics::SetVars has been replaced with stack allocation.
3940 ============================
3941 (Made by MaximK, 25/10/2005)
3944 1. DEFECT FIX: DEF070658: LFFS: CorrectStatusBitPairs does not check CRC before using address from LEP
3945 Fix propagated from DEF064943. In slffs_log.cpp:
3946 Change code in ReadEntry to check that SegmentFromLEP returns a value within bounds before using it to index iL2PTable.
3947 Change code in ReadEntry to check whether a CRC failure is due only to incomplete write and if so, correct it and repeat the check.
3949 2. DEFECT FIX: DEF070659: LFFS "FIXME" hit during soak testing
3950 Fix propagated from DEF065216.
3953 1. MINOR_CHANGE: Changed T_DSPACE to work with large cluster sizes
3954 2. DEFECT FIX: DEF071696: KErrCorrupt on Scan Drive
3955 Problem was that full drives were regarded as corrupt by Scan Drive dur to an invalid ASSERT.
3956 3. DEFECT FIX: DEF071326: B_FAT & B_FAT32 Panic Target with FAT32 enabled
3957 Removed incorrect ASSERT.
3960 1. DEFECT FIX: DEF071517 - It's hard (impossible?) to diagnose data caging problems in hardware.
3961 Added a function to append the filename to the message.
3964 1. DEFECT FIX: DEF067962: CFileMan::Move completes with KErrNone and deletes the source file in error
3965 Fixes issues where CFileMan::Move could cause data loss and where CFileMan::Move behaviour was not
3966 consistent with documentation. See defects linked to by INC066181 (propogated from) for more info.
3969 ============================
3970 (Made by RobertJ, 13/10/2005)
3973 1. DEF070637: CCompMountCB::IsFileInRom implemented inconsistently with CCompMountCB::EntryL
3974 Modified method CCompMountCB::IsFileInRom to return immediately if IsFileInRom returns a NULL value
3975 for the primary file system, rather than then invoking the function of the same name for the secondary
3976 file system as a check.
3979 1. DEF068763 - Hotswap, FileManager: Phone freezes with "Put the disk back or data will be lost
3980 In order to avoid potential deadlock conditions (such as when SysApp responds to a media change
3981 while the 'Put disk back' dialog is active etc...) the file server has been modified to:
3982 (a) - Defer issuing media change notifiers while the dialog is active (this prevents clients
3983 from responding to the media change and issuing excessive requests to a blocked drive).
3984 (b) - Reject any requests immediately with KErrNotReady while the notifier is active.
3985 2. DEF070935 - B_FAT test fails on 2 GB SD cards
3986 Test failed because of heap overflow and taking too long.
3989 1. MINOR_CHANGE: Fixed race-condition in unit test T_HANDSHARE. (Added Sync() command to test server.)
3992 ============================
3993 (Made by JenniferH, 11/10/2005)
3996 1. DEFECT FIX: DEF067961 - USB CF - Mass Storage Class interface (Reported by USB CF)
3997 Change code of handling GetMaxLun and Reset commands to be compliant with specification.
3998 Change code of checking invalid CBW and handling this event to be compliant with specification.
3999 Change code of processing standard cases 11 & 13 to be compliant with specification.
4000 Change code of processing scsi commands (Inquiry & RequestSense) to be compliant with specification.
4001 Modify USB test Ldd code in \e32utils and mass storage tests in \f32test to reflect changes in USB mass storage.
4005 ============================
4006 (Made by GavinT, 05/10/2005)
4009 1. DEFECT FIX: DEF065773: Use macros defined in RemovableFeatures.iby to exclude MMC & USB from ROM
4010 Defect re-opened to exclude USB mass storage file system (msfs.fsy) from ROMs
4011 if SYMBIAN_EXCLUDE_USB defined.
4012 2. DEFECT FIX: DEF068047: Ejecting SD Card while deleting files causes crash
4013 Removed all calls to TDrive::Dismount() from the TDriver class to remove a circular
4014 dependency : CFatMountCB calls TDriver which calls TDrive which can delete CFatMountCB.
4015 3. DEFECT FIX: DEF068235: Formatting SD card with MBR can result in a bad format.
4016 Formatting an MMC card may result in an MBR (Master Boot Record) being written
4017 which is different from the one originally on the card. This means that the
4018 partition may change size or position. We now force a remount of the drive before
4019 writing the boot sector.
4023 ============================
4024 (Made by AnatolyP, 26/09/2005)
4027 1. DEFECT FIX: DEF068833 : Fat32 uses both Hi and Low 16 bit sections of a dir entry on fat16 volumes
4028 Created a StartCluster() function in the CFatMount Class that takes a dir entry,
4029 this then detects if the volume is fat32 or not and masks out the top 16bits of
4030 the start cluster number.
4034 1. MINOR CHANGE: Correctify RFS::SetSubst() in-source document, modifying capability description:
4035 @capability DiskAdmin
4036 @capability Dependent If aPath is /Sys then Tcb capability is required.
4037 @capability Dependent If aPath begins with /Private and does not match this process' SID then AllFiles capability is required.
4040 1. Fix for INC067968: RFs.MkDir() returns KErrAlreadyExists.
4041 File server now checks the client's descriptor length on MkDir operation. t_fnames test extended to test this particular case.
4042 Fixed several Armv5 warnings in file server.
4046 ===========================
4047 (Made by RichardCo, 21/09/2005)
4050 1. DEFECT FIX: DEF068026 FAT drives not scanned when file system is mounted even if they were not finalised.
4051 DEFECT FIX: DEF068024 FAT32 drives are not scanned even if they were finalised.
4053 Introduced support for FAT16 and FAT32 "volume clean shutdown" flag, ScanDrive now will scan dirty volumes on mount.
4054 FinaliseDrives() now works correctly, finaly putting them into ReadOnly mode and setting "volume clean shutdown" flag if it is possible.
4055 This feature is now turned OFF, because turning it ON is a behaviour break, see BR.1649
4057 2. MINOR_CHANGE: Introduced new f32.mmh file, which is now included into all *.mmp files for F32 component.
4058 Macro SCANNING_UNFINALISED_FAT_DRIVES_ENABLED in this file controls drives finalisation and ScanDrive running on startup.
4060 3. MINOR_CHANGE: Fixed unsafe code in tests: t_dcallfiles, t_dcnone, t_dctcb, t_dctcballfiles
4063 1. DEFECT FIX: DEF067980: TFileText corrupts the stack if it has to swap bytes.
4064 Modified parameters in the call to SwapWords() from TFileText::FillBuffer().
4068 ===========================
4069 (Made by AndreasP, 14/09/2005)
4072 1. DEFECT FIX: DEF068060: Memory card's password store is located in old insecure location
4073 Changed KMediaPWrd to place the password file in C:\sys\data.
4074 Test harness T_PWSTR modified accordingly to verify that the mmcstore file does indeed
4075 get written to this new location.
4078 1. DEFECT FIX: DEF068040 - USBCommandVerifier's [Stress] Enumeration test fails on mass storage mode
4079 Have to response MSC reset command after reset behaviour. Send back zero-length status packet to
4080 confirm reset completion. Correct code of checking MSC packet format which not compliant with
4082 2. DEFECT FIX: DEF063789 - Make T_FATEXT more generic
4083 3. DEFECT FIX: DEF068054 - Usb mass storage: criticle section enter and leave don't match
4084 Add 'iCritSec.Wait();' in CMassStorageDrive::SetMountConnected() in drivemanager.inl
4085 4. MINOR CHANGE: Fix T_FATCORRUPT test failure in emulator
4088 1. DEFECT FIX: DEF067965: [PSAudit] Unallocated data initialization vulnerability in RFile.
4089 RamDrive memory gets zero-filled on shinking and expanding cluster chain. CRamFatTable::AllocateSingleClusterL(),
4090 CRamFatTable::ExtendClusterListL() and CRamFatTable::FreeClusterListL() now clean memory by zero-filling it.
4091 Also ERamDrive type of memory chunk gets cleaned on memory commit for multiple and moving memory models.
4095 ===========================
4096 (Made by YingS, 05/09/2005)
4099 1. DEFECT FIX: DEF061458: LFFS allows file entries to be accessed as directory entries.
4100 Added a number of extra checks, also created a test case.
4104 ===========================
4105 (Made by MichaelMo, 31/08/2005)
4108 1. DEFECT FIX: DEF066454 T_RESIZE test does not run on H2/H4 boards.
4109 T_RESIZE was made platform independant and automated (uses t_main.cpp).
4112 1. MILESTONE: Intulo GT262, MS3.3.1 PREQ1032 VFP detection support for Software Install use
4113 Provide HAL attribute indicating whether VFP is supported by the current platform, and
4114 extend RLibrary::GetInfoFromHeader to return VFP-ness of a binary.
4117 1. DEFECT FIX: DEF067360: Running ScanDrive on a Full64MB SD Card causes crash
4118 An array created in CScanDrive::ConstructL() was out by one due to a
4123 ===========================
4124 (Made by MichaelP, 17/08/2005)
4127 1. DEFECT FIX: DEF065286 Can not build scandrive debug binaries.
4128 CScanDrive::ReadFatL() method has been made constant, this has fixed the problem.
4130 2. DEFECT FIX: INC062399: NTT - Long directory name crashs a program in the RDir::Open() operation.
4131 Fixed the elocal.fsy to correctly handle the situation with zero-terminating filenames of 256
4133 Added a test step to the T_FNames to check this particular case.
4136 1. DEFECT FIX: DEF066252: Mounting a file system extension over a failed media driver causes a fault
4137 If a media driver fails to load, any attempt to mount a file system extension triggers an ASSERT.
4138 Fixed by checking the media driver before mounting the extension.
4141 1. CHANGE REQUEST: AHIN-6D4M3C - SSR Nand driver: deprecation in Mike (9.1)
4142 Parts of SSR Nand driver marked as deprecated.
4145 1. DEFECT FIX: DEF066544: First file in ROFS is always corrupt
4146 ROFS images with few files in can return invalid data for files whose contents start in the first
4147 1024 bytes of the image. Fixed the ROFS block cache to not mistakenly return uninitialised cache
4148 entries when data is requested.
4149 2. DEFECT FIX: DEF066626: ESTART executable not configurable on emulator
4150 Add a new optional epoc.ini setting, "EStart", to choose which executable
4151 the fileserver will launch (defaulting to the current e32strt.exe).
4154 1. DEFECT FIX: DEF065961 - ESTART panic catgories are too long
4155 2. DEFECT FIX: DEF066216 - Formatting from the command line with the /S option causes a panic
4159 ===========================
4160 (Made by MaximK 05/08/2005)
4163 1. DEFECT FIX: DEF060393 - RFs::MountFileSystemAndScan() passes garbage IPC arg to DoMountFsInitialise()
4164 RFs::MountFileSystemAndScan() now defaults to mount the drive as concurrent (asynchronous).
4165 RFs::SwapFileSystem() now gets the concurrent status from the old mount and copies it to the new.
4168 1. DEFECT FIX: DEF063795: T_SCN32DR1 and T_FATCORRUPT fail on NAND/SSR FAT drives
4169 RFs::MountFileSystemAndScan now has the option of also mounting an extension.
4172 1) DEFECT FIX: DEF063771 - RFs::CheckDisk incorrectly reports disks with clusters marked bad as corrupt
4173 Modify code of CFatMountCB::CheckUnvisitedClustersL() to exclude bad cluster marker value from
4174 EFatChkDskBadCluster report.
4175 2) DEFECT FIX: INC065877 - TFindFile could be more stack efficient?
4176 Two TFileName objects in TFindFile::DoFindNextInDriveList() are replaced
4177 with TPtrC objects thus save near 1k bytes stack space.
4178 3) DEFECT FIX: Fix according to DEF047896 - Replace non-Ascii characters with hex equivalents
4179 4) DEFECT FIX: INC065890 - CFileMan uses too much stack
4180 Reengineer code, replace TFileName object with TPtrC.
4181 5) DEFECT FIX: DEF066406 - f32 test t_scn32dr1 fails when built on machines with japanese windows.
4184 1) MINOR_CHANGE: Update T_PWSTR to obtain the CID from the TBusLocalDriveCapsV5 serial number
4185 Running this test is somewhat difficult, as the CID of each card being tested must be obtained
4186 and the test rebuilt. CR-APOS-65YC4H introduced serial numbers into local drive caps,
4187 which the test now uses to obtain the CID. Also added simple attempt to locate the first MMC drive.
4190 1) DEFECT FIX: DEF062293: RFs::Entry and RFile::Open return wrong error code on NAND
4191 Make composite FS return the correct error code in all cases when
4192 file/path is not found.
4195 ===========================
4196 (Made by JohnS, 21/07/2005)
4199 1) DEFECT FIX: DEF064100 - RRawDisk capability documentation error
4200 RRawDisk::Open, RRawDisk::Read and RRawDisk::Write were incorrectly documented as requiring
4201 DiskAdmin capabilities, where in fact TCB is required.
4203 2) DEFECT FIX: DEF057519 - RFs::ForceRemount does not return an error code
4204 Modified TBusLocalDrive::ForceRemount to return any error returned by the corresponding
4205 call to RLocalDrive::ForceRemount. Additionally, a call to ::CheckMount is made to determine
4206 if a the forced remount was successful.
4208 3) DEFECT FIX: INC063197 - EKA2: MMC & SD: Errors in lock unlock functionality.
4209 - Modified TBusLocalDrive functionality to ensure that the mount status is retained correctly.
4210 - Modified MMC media driver to allow a locked partition to be mounted.
4211 - Updated T_PWSTR tests to include all test cases supported by the EKA1 version.
4212 - Fixed problem in emulator which prevented the emulated MMC card from being removed.
4213 (F5+F4 key combination now cycles between Card1, Card2 and No Card as it does in EKA1)
4215 4) DEFECT FIX: INC063392 - File sharing in the file server is critically deficient.
4216 The existing file share modes (EFileShareExclusive, EFileShareReadersOnly and EFileShareAny)
4217 do not provide enough flexibility for clients that simply read from a file and do not care if
4218 the file has been (or will be) opened for writing. Currently, if a client fails to open
4219 with the EFileShareAny share mode, then they must subsequently attempt to open a second time with
4220 EFileShareReadersOnly to gain access. Failure to do so (particularly since the introduction of file
4221 handle sharing) may lead to problems that are not uncovered until late in the testing cycle.
4223 To resolve this issue, a new file share mode has been added: EFileShareReadersOrWriters. This
4224 share mode is compatible with both EFileShareReadersOnly and EFileShareExclusive. A client
4225 opening a file in this share mode can make no assumptions as to 'real' share mode of the file
4226 as a second client may subsequently open in either compatible mode - after which point the
4227 share mode of the file is effectively promoted to the new mode.
4229 5) DEFECT FIX: INC064062 - F32 heap is occupies too much ram.
4230 Recent changes to the file server request allocator caused all request types to hold a source and
4231 destination path - this includes the default disconnect request which forms part of each session.
4232 Reworking the layout of the internal request classes reduces the default size of a session by 1K.
4233 Additionally, saved an additional 176 bytes by replacing the infrequently used 'reserved access'
4234 arrays (CSessionFs::iReserved, CSessionFs::iReservedAccess) with a simple RArray.
4236 6) CHANGE REQUEST: APOS-6CKBXL - Differentiation between reaching EOF or overrunning writer needed for progressive download use case.
4237 The current implementation of the asynchronous RFile::Read API's would complete immediately even
4238 if all the requested data is not available. The progressive download use case requires a new mode
4239 of operation where the request is not completed until a writer process has written enough data to
4240 the file to complete the request.
4242 This new functionality is enabled by opening the file using the EFileReadAsyncAll access mode.
4243 (Without specifying this mode, the original behaviour of the API is maintained)
4245 This new file mode is incompatible with the EFileShareExclusive and EFileShareReadersOnly share
4246 modes, as a file opened in either of these two share modes prevents a writing process from writing
4247 to the file and completing the request. Hence, any client expecting to perform an asynchronous read
4248 using the new access mode must open the file with EFileShareAny or EFileShareReadersOrWriters.
4250 Two additional RFile API's have been added to allow the outstanding asynchronous request to be cancelled:
4251 void RFile::ReadCancel(TRequestStatus& aStatus) const; (cancels the specified async read)
4252 void RFile::ReadCancel() const; (cancels all outstanding async reads)
4254 7) DEFECT FIX: DEF065220 - File Server Panics when MMC Card removed during scandrive boot.
4255 Removing an MMC card while scandrive is running causes a double deletion FAT mount objects.
4256 Corrected by modifying CFatMountCB::ScanDrive() to increment the FAT mount resource count while
4257 scandrive is active to ensure that the media change handler doesn't destroy the mount.
4259 8) DEFECT FIX: DEF065367 - B_OPEN crashes Lubbock.
4260 Reworked CFileCB::InitL to ensure that a failure to allocate memory for the folded file name
4261 or body class doesn't result in the mount being closed prematurely.
4264 1. DEFECT FIX: DEF063081 - Add documentation on RFile ::AdoptFromClient & other similar api's.
4265 Updated in source documentation and "Base_How_To_Share_File_Handles.doc" to emphasize the need
4266 to call RFs::ShareProtected() before transferring a file handle.
4269 ===========================
4270 (Made by JonathanM, 13/07/2005)
4273 1. DEFECT FIX: DEF063060 - Mass Storage P&S uses insecure depreciated API's
4274 INTERFACE CHANGE: BR1569.1 Change P&S Category to be the SID of the file server process.
4275 This changes the value of KUsbMsDriveState_Category to be equal to the File Servers Secure ID.
4276 This is the property category used by USB Mass Storage to publish state changes.
4280 (Made by OlegI, 11/07/2005)
4283 1. DEFECT FIX: DEF063872: RProcess::Create does not support being passed "z:MyProg.exe"
4284 Fix emulator's path parsing to be able to deal with the case where no
4285 path is given, only the drive letter and filename. It will now load
4286 the executable from \sys\bin on that drive.
4291 (Made by DjordjeK 05/07/2005)
4294 1) DEFECT FIX: DEF057864 - T_NandDrv acceptance test assumes that the nand user area is drive 6.
4295 Added a function to search for the drive.
4296 2) DEFECT FIX: DEF062867 - T_NandDrv acceptance test fails due to incorrect DriveCaps.iMediaAtt.
4297 Test condition corrected.
4298 3) DEF054953 - Locking when using RAM drive
4302 1) DEFECT FIX: DEF063887: Chkdeps command of EShell application doesn't work with compressed files.
4303 Decompression possibilities are added to the EShell application by including
4304 f32\sfile\sf_inflate.cpp and f32\sfile\sf_decomp.cpp files into project. Function
4305 GetImportDataL was modified to consider possible file compression. Also this function
4306 was splitted into 2 parts to facilitate code understanding. To parse file name of dependencies,
4307 I've included TFileName class from efile project into Eshell project (by copy&paste).
4310 1) DEFECT FIX: DEF060782 - USB Mass Storage is not immediately recognised by Win2K
4311 Fix is to ensure that media is set to changed when mass storage filesystem is mounted.
4313 2) DEFECT FIX: DEF061453 - MAC OS doesn't recognize Symbian USB Mass Storage device
4314 Windows and OS X differ in their interpretation of the 'Prevent Media Removal' command, specifically
4315 OS X interprets acceptance of this command as meaning a device is not removable and therefore stops
4316 polling for it. The fix is therefore to remove support for this command, which forces OS X to treat
4317 the media as removable and has no adverse affect under windows. A commented out #define is provided
4318 in scsiprot.cpp should this need to be re-enabled for any reason.
4320 3) MINOR CHANGE: Enable ControlIO support in CMassStorageMountCB (debug builds only)
4322 4) MINOR CHANGE: Add commented out #define for enabling mass storage debugging in massstoragedebug.h
4324 5) MINOR CHANGE: Changes to F32 Mass Storage Tests to reflect changes in behaviour caused by fixes for the following defects:
4325 DEF060782 - USB Mass Storage is not immediately recognised by Win2K.
4326 DEF061453 - MAC OS doesn't recognize Symbian USB Mass Storage device.
4331 (Made by RobertJ 27/06/2005)
4334 1) DEFECT FIX: BR1559.1 DEF059968: Potential exploit using RFs::Subst()
4335 Added DiskAdmin capability requirement when calling RFs::SetSubst()
4338 1) DEFECT FIX: DEF063639: No def file exported from basedomain
4339 Export domainpolicyu.def so that it can be used by implementors of
4340 domain policies to ensure the correct DLL ordinals.
4345 (Made by AndrewHi 23/06/2005)
4348 1) DEFECT FIX: DEF061544: T_scndr1 appears to fail on 9.1
4349 Fix test code so it copes with the memory for the fat buffer not being aligned on a 32-bit
4353 1) DEFECT FIX: DEF062026: GetStartupMode() needs access to the file server
4354 Add another function GetStartupModeFromFile(). Estart calls this function after FS initialisation
4355 when access FS to get startup mode is needed. Default base version returns KErrNotSupported.
4356 Licensees should derive this function to provide their own method of getting startup mode from
4357 FS and make it return KErrNone when succeed. New startup mode value will update the property.
4359 2) DEFECT FIX: DEF062411 SS Lowering the priority of the loader thread == a large performance improvement
4360 Added new API RFs::SetStartupConfiguration(TInt aCommand,TAny* aParam1,TAny* aParam2=0). This function
4361 can be called from estart only. To change loader priority, licensee should put similar code in their
4364 r = rfs.SetStartupConfiguration(ELoaderPriority, (TAny*)EPriorityAbsoluteBackground);
4366 User::Panic(_L("SetStartupConfiguration error"), r);
4368 NOTE ALSO: Licensee should add following two lines in their estart.mmp file to build:
4372 3) DEFECT FIX: DEF063539 - Eshell panics if keypad is stuck
4373 Correctify command length check.
4376 1) DEFECT FIX: DEF063557: Xrepro and debug commands of EShell application refer to absent executables
4377 This defect is a part of DEF049934: Some text shell built in functions broken.
4378 In EShell application Xrepro command is not supported anymore because it was used to run a reflashing program for the series 5, so now it is obsolet.
4379 Debug command of EShell runs gdbstub for on-target debugging, and this is not present by default.
4380 Now superfluous commands deleted from EShell.
4382 2) DEFECT FIX: DEF063558: Filenames of <3 characters are considered as invalid by EShell application
4383 This defect is a part of DEF049934: Some text shell built in functions broken.
4384 Some commands of EShell application(SetSize, Gobble and VNAME) consider short filenames (1 or 2 characters) to be invalid and do not process files with such names.
4385 Now superfluous filename limitation removed
4388 1) Minor change: Rename TLoaderHeapFunction to TLoaderDebugFunction and remove redundant entries.
4389 Move EFsCancelLazyDllUnloading to TLoaderDebugFunction and rename it to ELoaderDebug_CancelLazyUnload.
4394 (Made by JenniferH 14/06/2005)
4397 1) DEFECT FIX: DEF062095 - File server perfomance of syncronous drives improved by avoiding lock.
4398 Modified CFsMessageRequest::Dispatch() to prevent locking if the drive is synchronous. Locking
4399 was unnecessary, as the synch drive flag is never modified within a drive thread.
4401 2) DEFECT FIX: INC061006 NTT Applications are not closed when MMC card is hotswapped.
4402 The peripheral bus controller returned the incorrect error code when the media is not present.
4403 This has been corrected to return EMediaNotPresent. Additionally, the state machine has been
4404 optimised to prevent the card from being continuously powered up if no card is present - this
4405 should reduce boot time on systems that provide no card detect mechanism.
4407 3) MINOR CHANGE: Added MMC media change test T_MEDCH.EXE and associated driver D_MEDCH.LDD
4409 4) DEFECT FIX: DEF062805 - Malicious client can fault f32. Passing an invalid mode argument
4410 to the RFs::NotifyDismount could fault the file server - Now returns KErrArgument.
4412 5) DEFECT FIX: DEF062987 - USB Mass Storage does not fully support the SCSI VERIFY(10) command.
4413 The VERIFY(10) packet contains a BYTCHK bit that specifies wether the verify operation should
4414 only read from the media (BYTCHK==0) or compare with the data supplied by the host (BYTCHK==1).
4415 Mass Storage ignores the BYTCHK==0 case, which prevents disk utility tools such as ScanDisk
4416 from being able to identify and mark bad blocks on the media. This is now supported correctly.
4419 1) DEFECT FIX: DEF057037: No way to protect against bad session handles being passed
4420 RFile::AdoptXxx methods use the new secure version of RSessionBase::Open to ensure that the
4421 session they are adopting is really a file server session.
4424 1) DEFECT FIX: DEF061544: T_scndr1 appears to fail on 9.1
4426 Fix test code so it copes with the memory for the fat buffer not being aligned on a 32-bit
4431 (Made by Carlosf 06/06/2005)
4434 1) DEFECT FIX: DEF059964 - file server ChangeMode() should be policed server-side.
4435 Server-side code modified (sf_file.cpp: TFsFileChangeMode::DoRequestL()) and
4436 a test case added (t_file.cpp: testMiscellaneousReportedBugs()).
4439 1) DEFECT FIX: DEF062545 - Potential risk of corrupt file system in T_FATCORRUPT
4444 (Made by MichaelMo 01/06/2005)
4447 1) CHANGE REQUEST: JHAS-68YPX7 System, GT0223 Mike Base, Implement PREQ1163 "Limited support for hard disks as secondary storage" in Mike.
4448 Interface Change: BR1543.1 - Peripherals: Add GetLastErrorInfo API to CProxyDrive
4450 Extends FAT and FAT32 filesystems to support bad cluster marking (where possible) when reading, writing and formatting. Adds new API GetLastErrorInfo to extract information about bad sectors encountered during reads/writes from the media driver (needs support from any future hard disk media driver). Extends formatting API's to allow for user specified parameters (FAT type and cluster size).
4455 (Made by RichardCo 26/05/2005)
4458 1) MINOR_CHANGE: Modified T_FALSESPACE test so that it doesn't run on drive K: if 'TESTFAST' mode
4459 is set. (This is to speed up automated testing.)
4461 1) DEFECT FIX: DEF061457 - LFFS - LffsDir::readEntry can access deleted directory entries causing panic.
4462 Deleting the current directory would result in a panic due to LFFS accessing an inode now marked as
4463 unused. TLffsDir::ReadEntry corrected to catch this case and search for the next valid entry.
4465 2) DEFECT FIX: DEF059352 - Mass Storage P&S does not operate as stated in the design doc when ejecting MMC
4466 Unrelated to card ejection, when stopping the Mass Storage device from the host the controller would
4467 immediately enter the Disconnected state without passing the Disconnecting state.
4469 3) DEFECT FIX: DEF060781 - USB Mass Storage - Synchronous notification in the file server
4470 It is not possible to mount the Mass Storage FSY while applications/servers have files open on the
4471 drive. In order to facilitate a safe and clean dismount of the file system, a notification mechanism
4472 is required to inform clients that the file system is about to be dismounted. This is acheived using
4473 the following new File Server API's:
4475 IMPORT_C void NotifyDismount(TInt aDrive, TRequestStatus& aStat, TNotifyDismountMode aMode) const;
4476 IMPORT_C void NotifyDismountCancel(TRequestStatus& aStat) const;
4477 IMPORT_C void NotifyDismountCancel() const;
4478 IMPORT_C TInt AllowDismount(TInt aDrive) const;
4480 4) DEFECT FIX: DEF061078 - Inefficiency in LFFS file system.
4481 The LFFS logical to physical sector lookup was very inefficient, involving a search through the
4482 segment list. This has been optimised by modifying the lookup table to contain segment pointers.
4484 5) DEFECT FIX: DEF061757 - Missing in-source comment for two new constants in F32.
4485 Added in source documentation for KPluginAutoAttach and KPluginAutoLocate.
4487 6) DEFECT FIX: DEF061243 - Closing RRawDisk session doesn't remount filesystem.
4488 Modified RRawDisk to ensure that the mount is remounted if the contents of the drive has changed.
4491 1) DEFECT FIX: DEF061834 - RFile Seek performance Improvement
4492 In ESeekStart case, directly return after pos set instead of copying pos back to parameter which is only
4495 2) DEFECT FIX: DEF059965: Loader & FS policing of add FS / add extension ineffective
4496 Add DiskAdmin permission check in ELoadFileSystem and ELoadExtension cases of file loader ServiceL() function.
4497 Add SID=f32 check in TFsAddExtension & TFsAddFileSystem, remove old check in TFsAddFileSystem.
4498 Add DiskAdmin permission check in TFsRemoveExtension & TFsDismountExtension.
4501 1) PREQ563 MS3.4.2 Lazy dll unloading
4504 1) DEF061344: In text shell pagination for help screens/ dir etc. is broken(part of DEF049934)
4505 The problem occured when some text had to be wrapped to fit the screen. In this case eshell automatically scrolled the text even when pagination was requested, and user couldn't see scrolled part of text. To resolve the problem, a new function is added which considers the line wrapping. The list of functions is modified to use this function instead of Console::Printf. Affected commands are:
4512 - Ps ( with all subcommands )
4513 Dir function is also modified to support proper alignment of text into columns when called with /w switch.
4518 (Made by StefanW 17/05/2005)
4521 1) Defect Fix: DEF061239: Help for the Trace command of text shell is not complete (part of DEF049934).
4524 1) Defect Fix: DEF058337 - Rugged file system not rugged enough when growing FAT directories
4527 1) Defect Fix: DEF057360: Add new EKA2 emulator property to disable the System Starter
4531 (Made by Kamran 12/05/2005)
4534 1) MILESTONE: Yankee,GT0223,MS3.4.1 PREQ473 Generic fileserver hooks
4535 Note: this included addition of t_virus test to f32tests
4539 (Made by MiguelB, 03/05/2005)
4542 1) Defect Fix: DEF058458: LFFS: defects building logical->physical mapping on mounting
4544 1) Milestone: GT0236, MS3.7 - Engineering Change Macro Removal
4549 (Made by JonathanM, 26/04/2005)
4552 1) MINOR CHANGE: Removed obsolete F32TESTs (those checking DLL linkage in different directories)
4556 (Made by JasmineS, 19/04/2005)
4559 1) Defect Fix: DEF059487 - EStart doesn't restore the timezone settings correctly after a system restart
4562 1) Defect Fix: DEF059050 - F32 client and FSY APIs are not future proofed.
4564 Added reserved member data to the following 'publishedAll' classes: TEntry, TDriveInfo, TVolumeInfo, TFindFile.
4566 Added the new virtual function GetInterface() which returns an interface extension to the following
4567 'publishedPartner' classes: CMountCB, CFileCB, CDirCB, CFormatCB, CFileSystem, CProxyDrive, CBaseExtProxyDrive.
4568 Added a new machine word of reserved member data to the following 'publishedPartner' classes: CFileCB, CDirCB,
4569 CFormatCB, CFileSystem, CProxyDrive.
4570 Added a new leaving function in the creation path of CMountCB - CMountCB::InitL().
4571 Added a destructor to CProxyDrive.
4573 2) INTERFACE CHANGE: BR1375 "Changes to make FSY API more future proof". (as part of fix for DEF059050).
4574 This will affect all FSY components - which need to be rebuilt after this change.
4576 3) INTERFACE CHANGE: BR1468 "Changes to make F32 client APIs more future proof". (as part of fix for DEF059050).
4577 ALL COMPONENTS USING TEntry, TDriveInfo, TVolumeInfo OR TFindFile NEED TO BE REBUILT AFTER THIS CHANGE.
4580 1) CR PHAR-6B8GSS - Add RFile::FullName API (Development CR)
4583 1) PREQ563 MS3.4.1 MatchF Removal
4587 (Made by Jeremy Smithers, 12/04/2005)
4590 MINOR CHANGE: Added new option to RUNTESTS.
4591 Specifying -st will cause the time taken for each test to be shown (if the test passes).
4592 Example output: "RUNTESTS: Test MY_TEST.EXE OK - Seconds Taken: 234"
4593 MINOR CHANGE: Made RUNTESTS output a linefeed before any TIMEOUT message (to help log parsing)
4596 1) Defect Fix: DEF058817 - File server panics if the NAND media driver fails to load.
4597 2) Defect Fix: DEF058681 - Mass Storage reports VolumeName incorrectly
4600 1) DEFECT FIX: DEF058075 - Inefficient stack usage in FAT filesystem can result in stack overflow
4603 1) DEFECT FIX: DEF059046 - LFFS tests fail with RVCT2.2
4604 Code reworked to avoid an RVCT2.2 bug causing problems within LFFS Entry code.
4608 (Made by Kamran, 01/04/2005)
4611 1) Minor Change: Backing out changes in etshell/ts_com.cpp and wins/specific/mmc.cpp which were made for test purposes only
4612 2) Minor Change: Fixing f23/smassstorage/drivemanager.cpp to check return values of RProperty::Attach correctly
4615 1) Defect Fix: DEF056007 - ~RUsbMassStorage()
4618 1) Defect Fix: INC055996 - Add overloads of CFileMan functions that take a source RFile parameter
4619 2) Defect Fix: DEF058234 - RFile::Adopt() should not panic if given an invalid file handle
4623 (Made by MichaelP, 22/03/2005)
4626 1) Defect Fix: DEF056488 - Fat caching scheme on EKA2 is not safe
4627 2) Defect Fix: INC054580 - NTT Renaming sys folder on C: on H2 allows user to access sys files
4628 3) Defect Fix: DEF057668 - ESHELL.EXE panics (USER PANINC 11) when "Copy " is used without arguments
4631 1) Defect Fix: DEF055797 - Pointless drive letter checking in TDrive::LocateFile
4634 1) Defect Fix: DEF057517 FAT causes drive unmounting and remounting after running scanDrive
4639 (Made by JS, 14/03/2005)
4642 1) Defect Fix: DEF056249 - GMT offset is not propery updated after loading elocl.dll
4645 1) Defect Fix: DEF056344 - Cedar Fat has issue with small write flushing
4648 1) Defect Fix: DEF056327 - t_falsespace takes too long to run
4649 2) Defect Fix: DEF056330 - Missing RProcess::Close in Runtest
4652 1) Defect Fix: DEF056999 - Loader performs unnecessary file system accesses
4655 1. MILESTONE: Bravo,GT0236,MS3.2.2 PREQ234 UTC and Auto DST Support(Peripherals)
4656 2. INTERFACE CHANGE: BR-1316.1 Peripherals: File system to use UTC.
4661 (Made by MichaelMo, 04/03/2005)
4664 1) Defect Fix: DEF055667 - CFatMountCB VolumeLabelFile methods always use cluster 0 and shouldn't on FAT32
4665 2) Defect Fix: DEF055320 - Fat32 is used in MMC cards which are bigger than 32MB
4666 3) MINOR CHANGE: Stop warnings on release builds for FAT and FAT32
4669 1) Defect Fix: INC055113 - NTT Program closed error occurs when exiting from Eshell in Techview emulator
4672 1) Defect Fix: DEF056111 - RFile::Duplicate() does not correctly increment the file session resource count
4675 1) Defect Fix: DEF055669 - TFindFile SD error
4680 (Made by DjordjeK, 21/02/2005)
4683 1) DEFECT FIX: DEF055621 - Locale DLL not loaded on EKA2
4686 1) DEFECT FIX: INC054269 - Language swapping not supported in current Hermione baselines
4689 1) Minor Change: changing the cache request block size
4694 (Made by CarlosF, 15/02/2005)
4697 1) DEFECT FIX: DEF054369 - RFs doesn't specify in documentation if time is UTC or local
4700 1) DEFECT fix: DEF055202 - RFile::Replace gives NULL pointer and craches emulator
4701 2) Minor Change: Increasing reserved memory for b_open test
4706 (Made by RichardCo, 08/02/2005)
4709 1) CR: RFID-5YNJAW System, GT0177 Kernal and Peripherals,
4710 Add a method to acquire the serial number of removable media
4713 1) DEF052982 - Generic EStart fails to mount composite file system
4714 2) DEF053956 - TFatDirEntry::IsLongNameStart is logically incorrect
4715 3) DEF054111 - FAT32 bug with large discs
4719 (Made by RichardCo, 01/02/2005)
4722 1) Minor Change: adjust calling condition in estart::StartSystem()
4727 (Made by MichaelMo, 21/01/2005)
4730 1) DEFECT FIX: DEF053763 No documentation for RFs::ReserveDriveSpace and related functions
4733 1) CR PGEN-66RLDR System, GT0182 Sierra, Improve small read performance in EKA2 File System
4738 (Made by JonathanM, 18/01/2005)
4741 1) DEF052298 - 0 length files on dev boards (h2 / lubbock) for 8.1b
4742 2) DEF053475 - Problem with FAT/FAT32 with large disc (20GB)
4743 3) DEF053851 - Searching for hidden dir in a ROFS file system will cause an endless loop
4746 1) DEF053467 - T_TLINK failure in EKA2 when platsec switch off
4751 (Made by StefanW, 10/01/2005)
4754 1) Defect Fix: DEF053262 - Test cases Notification_1 and Notification_2 aren't implemented (propagated from DEF052683)
4757 1) DEFECT FIX: DEF053244 - Running out of battery during formatting MMC
4760 1) DEFECT FIX: DEF053671 - emulator version estart haven't been modified
4765 (Made by YingS, 04/01/2005)
4768 1) DEFECT FIX: DEF052973 - File server panics booting a NandLoader ROM with WITH_EXTENSION macro defined
4771 1) DEFECT FIX: DEF052345 - ESHELL "chkdeps" command is confused by the composite filesystem
4772 2) DEF053431 - T_ESTART failure when platsec switch off
4773 3) CR WPAR-66JF9U System Libraries, GT0219 Mike System Libraries, Define System Properties at startup
4776 1) DEFECT FIX: DEF053260 - USB Mass Storage Filesystem states, error handling, and thread safety issues.
4779 1) DEFECT FIX: DEF052145 - Fat32 over writes all 32bits of a fat table entry, only 28 bits should be changed
4780 2) Minor Change: Extended B_FAT32 test to ensure only 28 bits of fat table entries are changed.
4783 1) DEFECT FIX: DEF052483 MMC formatting not compatible to Epson printers
4788 (Made by MichaelP, 16/12/2004)
4791 1) DEF052379 - RFile::Adopt panics when handle is null
4792 2) DEF051122 - Browsing V:\Attrib directory on TechView emulator causes it to hang
4795 2) DEF052290 - Improvement to the file server startup mechanism
4801 1) CR MBUN-63SMAQ Change the IPR catagory of Fat32
4806 (Made by KamranN, 6/12/2004)
4809 1) Minor changes: Adding two tests to t_fman to test long file names and paths
4812 1) Fixed DEF052243 Excesive parsing in the EKA2 file server.
4815 1) Fixed DEF052211 Potential memory leak in eshell
4818 1) DEF048418 - LFFS mount time too long. LFFS Mount has been updated to (a) detect
4819 empty segments to eliminate scanning at boot, and (b) to make use of the read ahead cache.
4820 2) DEF052265 - LFFS corrupts itself sometimes after format.
4821 3) DEF052266 - LFFS outdated and erased log entries affecting mounting process.
4822 4) DEF052280 - LFFS corruption. LFFS would mistake a segment full of zero's due to an interrupted
4823 erase for an invalid segment, which could lead to data corruption. Mount now checks
4824 for this case and performs recovery if possible, otherwise enters read only mode.
4825 5) DEF052282 - Modified T_SOAK1 fails. Fixed a race condition in the LFFS filesystem that resulted
4826 in the background thread deleting the Inode while accessed by foreground thread,
4827 and a problem with reclaiming Null Log Entries that are part of an open transaction.
4828 6) DEF052286 - Creating many files in a short period causes LFFS corruption. Fixed by checking for
4829 zero length writes before writing to the media.
4832 1) DEF052346 - ESHELL debugport command does not accept argument -2
4835 1) Fix for DEF051862 - Mass storage FS works very slow with Windows ME
4836 2) Fix for DEF051810 - The unit tests t_ms_drive and t_msfs cannot be run on EKA2
4837 3) Fix for DEF052156 - Mistakes in API Classification
4840 1) Fix for DEF052306 - CMassStorageDrive decrements Mount Lock inappropriately.
4841 2) Fix for DEF052303 - USB MS drive list is incorrect
4846 (Made by JonathanM, 29/11/2004)
4849 1) DEF052117 Remove defpath from 9.0 onwards, Added a new file (/f32/sfsrv/cl_insecure.cpp)
4850 containing the insecure default path APIs and there stubs.
4853 Patch to Version 2.00.537
4855 (Made by KamranN, 29/11/2004)
4858 1) fix for DEF051428 PlatSec: Incorrect errors returned by f32
4863 (Made by StefanW, 19/11/2004)
4866 1) DEF051746 System file Recoverablility test support trace output incomplete.
4867 2) DEF051577 - SS Formatting of Generic MMC fails and leaves MMC card corrupted
4870 1) DEF050272 - T_LDRCHECK.EXE (of F32Test) failing in cedar Development branch
4873 1) Minor changes to add a test step in t_rename to test long path names
4876 1) Milestone: Sierra,GT0224,MS3.2 USB Mass Storage
4877 Requirements: PREQ:544 USB Mass Storage
4882 (Made by DjordjeK, 16/11/2004)
4885 1) Fix for defect DEF047684 Trailing dots on SD card folder name upset windows 2000
4888 1) Fix for Defect DEF050650 - FAT filesystem accesses cache object after it is deleted
4891 1) Fix for DEF051362 estart doesn't "Resume" sysstart.exe
4894 1) Fix DEF051473 - Wrong file sources & paths in t_scn32dr3.mmp
4897 1) Marked default path APIs as deprecated as part of BR 1206.1
4900 Patch to Version 2.00.535
4901 =========================
4902 (Made by RobertJ, 08/11/2004)
4905 1) DEF051349 - [system build] E32_EKA2 warning (GT summary) in build 03411
4910 (Made by AndrewHi, 05/11/2004)
4913 1) Minor changes to the following f32 rofs tests to make them accept a drive letter from the
4914 command line: t_rofsattrib, t_rofsdir, t_rofsfile, t_rofssoak, t_rofstime
4915 2) Fixed Defect DEF049243 - ROFS Cache
4916 3) Fixed DEF050910 - PlatSec: RRawDisk requires wrong capability
4919 1) Fixed DEF048278 - F32tests B_FAT and B_FAT32 both fail when run on a lubbock's nand drive
4922 1) DEF050516 - Read on duplicate file handle alters position of original file handle
4925 1) MILESTONE: Mike,GT0223,MS3.2.1 PREQ808 - Seperate base starter from system starter.
4926 2) Test case for above milestone.
4929 1) MS 3.1.1 System File Corruption Recoverability (REQ 3831).
4930 Added \f32test\server\t_corruptlog.cpp + support data files
4934 (Made by CarlosF, 25/10/2004)
4937 1) For defect DEF050391 [platsec] many components raising allfile warning due to RFs::Entry,
4938 Although there is no issue with the checks made in the file server the in-source documentation
4939 was incorrect so have put this right and inserted additional platsec diagnostic output for udeb
4940 builds, it now displays the Full name being accessed when a platsec diagnostic output is triggered.
4943 1) DEF050164 Search in Fileserver. TDrive::LocateFile() costs much boot time.
4944 Change TParsePtrC to TParsePtr and move one TParsePtr construction out of the loop.
4947 1) Fixed Defect INC049197 - NTT f32test t_sess panics at RTest check
4950 1) DEF050772 - CFatFileCB::FlushAllL() should re-enable notifiers before leaving
4951 2). DEF050431 - ineffecient code in f32 path name checking
4955 Patches to version 2.00.533
4958 1. DEFECT FIX: DEF050624 - SS PlatSec: ESTART accessing file restricted by AllFiles
4962 (Made by GongjunC, 18/10/2004)
4965 1) BC break BR1203 where each subsession object now has it's own Close function, This is
4968 2) fixed DEF050099 [PlatSec] PlatSec checks on file open should be invariant to text/binary mode
4971 1) Fix for Defect DEF047398 - T_DSPACE fails on emulator
4974 1) Fix for Defect DEF048753 - t_fsys test assumes nand drive is on EDriveI
4977 1) Fix for Defect DEF050161 - Scandrive bug
4981 (Made by Kamran, 08/10/2004)
4984 1) Defect Fix:DEF049245 - Mismatch in NAND driver and deflate read window size
4985 Increase the inflate window size
4988 1) Fix for Defect DEF047896 - Replace non-Ascii characters with hex equivalents
4991 1) Fix for Defect INC049224 - NTT b_osfil missing RTest.End()
4995 (Made by YingS, 22/09/2004)
4998 1) fix for DEF047409 Multi-threaded File Server uses non-shared notifier this includes a
4999 BC, approved as BR1180
5004 (Made by JasmineS, 09/09/2004)
5007 1) fix for DEF047636 ROFS: RFS::IsFileInRom - documentation and usage - change in source comment for
5008 API RFs::IsFileInRom() to indicate that this should not be used to ascertain whether a file is on
5009 Z: or not. Simply whether it is ROM file sytem.
5012 1) fix for DEF048660 - NTT - Problem inside File Server - F32 component.
5013 After failing to find a unique short filename four times, the code now uses a random number
5014 to generate the filename which greatly increases the likelihood of the filename being unique and
5015 thus speeds things up.
5016 2) fix for DEF045924 - T_SCN32DR1.EXE crashes on ARMV5
5019 1) Fix for DEF048511 - EXE files could not be executed from LFFS drive (C:)
5022 1) fix for DEF048144 - The FileServer crashes occationally when running B_OPEN.
5027 (Made by MichaelP, 27/08/2004)
5030 1) MS 3.1.3 Platform security Hashing removable media (REQ 3573)
5033 1) fix for DEF047438 - NTT - STABILITY: F32 has a potential memory leak in InstallRomFileSystemL()
5038 (Made by DjordjeK, 18/08/2004)
5041 1) Fixed DEF047011 - Problem loading Exes from C: or Flash
5044 1) Fix for DEF046643 RFile::Read(TDes8&, TInt aLen,TRequestStatus&) doesn't properly
5048 1) MS3.1.7 Platform security file handle sharing
5051 1) Fixed DEF047896 - Replace non-Ascii characters with hex equivalents
5055 (Made by KamranN, 04/08/2004)
5058 1) Fixed DEF047103 Checks on Private path by the file server always assume lower case
5061 1) PREQ133: Out of disk space handling by the file server
5064 1) Implemented REQ3489: Dividing ESTART into separate generic and customisable parts.
5065 Also implemented REQ3489.1: Extending ESTART to provide customisable support for
5066 dealing with a corrupt filesystem on system start. This obviously involved changes
5067 to ESTART. It also involved a change to RFs::SetLocalDriveMapping() to allow mappings
5068 to be swapped before the mapping is committed.
5070 Base Port Impact: See \documentation\Base_How_To_Estart.doc
5074 (Made by JonathanM, 26/07/2004)
5077 1) Fixed INC046058 Cedar file server makes priority assumption?
5081 (Made by AndrewH, 06/07/2004)
5084 1) Fixed DEF046379 - VFat short file names are not necessarily in caps
5088 1) MS3.7.2 Sierra Nevada PREQ 729 (part 2 of 2) and PREQ 537 (part 2 of 2)
5089 Security policy (capability) checking performed in APIs that require it.
5093 (Made by MichaelP, 17/06/2004)
5096 1) Fixed DEF045229 ELOCAL.FSY cannot be disabled in F32.IBY file
5099 1) Implemented REQ3383: Formatting locked MMC Card - Allows an MMC card to be formatted if the user forgets
5100 the password. This is performed by using the new fileserver API "TInt RFs::ErasePassword(TInt aDrv)" to
5101 issue the FORCE_ERASE command to the media via CMD42. If successful, this should be follows by a standard
5102 'quick format' operation to create a fresh filesystem on the disk.
5104 This change has Break Request confirmation numbers BR1056.1 and BR1056.2
5109 (Made by JonathanM, 26/05/2004)
5112 1) Fixed defect DEF044780 "Data Abort in loader thread when starting c:\eshell"
5115 1) Implemented the following CRs
5116 (1) RFID-5RRAWL System, GT0177 Kernal and Peripherals, Support FAT volume-label file
5117 (2) RFID-5PYCJR System, GT0177 Kernal and Peripherals, Use ruggedised FAT by default
5118 (3) RFID-5PYCGQ System, GT0177 Kernal and Peripherals, Use one FAT for non-removable rugged FAT drives
5122 (Made by CarlosF, 14/04/2004)
5125 1) Fixed defect DEF041930 "Incorrect Distribution.Policy file"
5129 (Made by JonathanM, 31/03/2004)
5132 1) Fix defect DEF041645 RFs::Volume returns the wrong infomation for emulated drives
5135 ===========================
5136 (Made by JonathanM, 19/03/2004)
5139 1) Implemented the requirements:
5140 REQ2632 - Configurability of the enforcement of capabilities
5141 REQ2633 - Security violation diagnostic
5142 REQ3142 - Associate Platform Security information with an executable.
5143 See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc
5146 ===========================
5147 (Made by JonathanM, 26/02/2004)
5150 1) Code changes resulting from:
5151 Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries.
5152 2) Modified Loader to assign to all binaries those capabilities disabled during ROMBUILD.
5156 (Made by AndrewJ, 13/02/2004)
5159 1) Implemented CR INC030294:
5160 Make it possible to Move a directory structure across drives using CFileMan.
5162 1) Fixed DEF023894 F32 leaks address space in the emulator by memory mapping files
5164 2) Fixed DEF039729 TParsePtrC creates a temporary TParse object on the stack.
5167 1) Implemented CLCT-5VEK4P - "Binary search in ROFS
5168 together with 'expanding ROFS entries with UIDs'".
5169 Changed Rofsbuild to provide a sorted array of offsets
5170 in order to allow the file system to perform binary search
5171 through the image. Also expended the TRofsEntry structure
5172 to include a copy of the file UID data.
5176 (Made by StefanW, 09/01/2004)
5179 1) Fixed DEF040165 Fat32 to move to class D
5184 (Made by StefanW, 19/12/2003)
5187 1) Fixed DEF039733 Bug in CFatMountCB::DoRenameOrReplaceL()
5188 2) Fixed DEF039729 TParsePtrC creates a temporary TParse object on the stack,
5189 this object no longer creates a tempory.
5190 3) Fixed defect DEF038169 ScanDrive deletes Japanese named file
5193 1) DEF037406 - "bad relocation" error from PETRAN. Changed loop in ESTART.CPP
5194 to avoid 'using' an address off the end of an array.
5197 1) DEF040849 - "T_FSYS fails on drive F and K". Changed error code returned
5198 when an attempt is made to dismount Z:
5202 (Made by JonathanM, 05/12/2003)
5204 1) DEF001193 - (Propagated) Files with scandic letters in the name might
5205 be deleted during boot.
5206 2) DEF015608 - CDirScan::NextL leaves when trying to scan \private and
5211 (Made by StephanGu, 13/11/03)
5213 1) Added A3.4.2"PREQ12(REQ1752) - Support for NAND flash" increment.
5214 Changed rugged FAT to be used by default, as this is needed by NAND flash.
5215 Techview does not yet boot from NAND flash.
5216 2) Fixed defect DEF037399 CProxyDrive::ControlIO not virtual
5217 3) Fixed defect DEF037401 Filesystems ControlIo() doesn't call CProxyDrive::ControlIO()
5220 1) Added Support in the file server for the composite file server to enable the
5221 loader cache to reinitialise after the Composite file system has been mounted.
5222 Added swap file system API to allow the and atomic dismount and mount of a file
5223 system. For NAND flash as per A3.4.2 PREQ12 (REQ1752) NandFlash on EKA2
5225 2) For NAND flash as per A3.4.2 PREQ12 (REQ1752) NandFlash on EKA2 changed Estart to handle
5226 Composite file system using the new RFs::SwapFileSystem() API
5231 (Made by JonathanM, 31/10/2003)
5234 1) Fix for DEF038863 - Integration Test Harness (ScheduleTest) no longer works on EKA2
5238 1) Fix problem loading RVCT binaries (svElfDerivedFixupImportAddresses always
5239 returned KErrNotSupported.
5243 (Made by AndrewJ, 06/10/2003)
5248 1) Released Fat32 file system
5250 2) Added support for TInt64 interface to disks. Only File system that supports
5251 volumes large enough to test this at present is Fat32. implmented RRawDisk::Read()
5252 and RRawDisk::Write functions with 64bit interface with corresponding server side
5255 3) Added RFs::FinilaseDrives() API that along with server side handling. This searches
5256 for the internal drive and calls finalise on the File system mount, The result is that
5257 any final actions required on the drive before power down maybe carried out.
5263 (Made by JonathanM, 24/09/2003)
5266 1) Fixed defect DEF012073 (Propagated) Running F32test T_NMBS twice in a row,
5269 2) Removed incorrect code in the fileserver that used a pointer to look up the message
5270 slot number to read or write. Now uses harded coded numbers.
5273 1) Use binary search in ROM file system.
5274 2) Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).
5278 1) Added documentation tags to /f32/inc.
5281 1) Fixed defect DEF038210 - "Missing error check in ESTART":
5282 An RFile::Read() in function E32Main() is now properly assigning its return
5283 code to the error code variable 'r' (file /f32/estart/estart.cpp).
5286 1) Removed old and unused files. (F32.FTC and F32.MRP)
5291 (Made by JonathanM, 05/08/2003)
5295 1) Modified CFatFormatCB::DoFormatStepL to allow 'Special Format' and 'Quick Format'
5296 to be performed together (ie - format /s /q).
5298 2) Modified the LFFS filesystem to use logical addressing to prevent
5299 runaway reclaims and disk corruption.
5301 ****************************************************************************
5302 *** This version of the filesystem is incompatable with previous formats ***
5303 *** so requires that the device is reformatted. make sure your data is ***
5304 *** backed up before applying this version of the filesystem ***
5305 ****************************************************************************
5307 The LFFS filesystem has been modified to use logical based addressing rather than
5308 the original physical addressing scheme. This enables the reclaim process to
5309 operate without incurring a loss of disk space, and prevents the filesystem from
5310 entering the 'infinite reclaim' scenario where the device reclaims forever,
5311 significantly improving battery life and performance under low disk space conditions
5313 For a detailed description of the problem that this version addresses, refer to
5314 CR PSCE-5GSNPF and the corresponding impact analysis.
5316 1. Filesystem version incremented to V2.00.
5317 2. The format of the segment header has been modified to include a logical segment number.
5318 3. The format of the general Log Entry has been modified to include a pointer to the previous
5319 log entry, and an extra 'Reclaimed' status bit.
5320 4. Two new constants CRITICAL_LOG_ENTER/CRITICAL_LOG_GAIN added to allow read-only mode to
5321 be entered should the remaining log space enter the critical threshold.
5322 5. Constant SPACE_FOR_RECLAIM has been reduced from 500% to 200%.
5323 7. The system enters Read-Only mode when the filesystem is unable to recover disk space.
5324 In this mode, all user operations that write to the disk (apart from delete operations)
5326 8. The reclaim process has been modified such that log entries are moved directly into the
5327 new segment without changing their logical address. Under non-critical conditions,
5328 some entries will be moved to the end of the log to avoid excessive fragmentation.
5329 9. The Segment class has been modified to store a bitmap of used/free log entry locations
5331 10. Calculations of remaining user and log space have been modified to take into account
5332 fragmentation of the log and the addressable data range to provide a more realistic
5333 measure of remaining disk space.
5335 This version of the filesystem also addresses the following issues
5337 1. CLffsMountCB::EntryL doesn't check return code for readCurrentDirAttributes
5338 2. The LFFS Can run out of disk space under extreme usage circumstances
5339 3. LFFS should report zero free space if in read only mode
5340 4. LFFS forced reclaim threshold too low
5341 5. LFFS leaks resources if Create/Replace File fails due to read-only mode.
5342 6. LFFS reports incorrect usable free space if filesystem is full with directories.
5345 1) Modified the loader so that passing an empty filename to LoadLocale will
5346 restore the default locale settings.
5347 2) Treat locale DLLs as loading into the file server rather than the kernel.
5348 Their ABI should match that of the file server.
5349 This works fortuitously at the moment, although there may soon be enum
5350 problems. Longer term locale DLLs should be restructured so that the kernel
5351 never needs to call them.
5354 1) Introduced the multithreaded fileserver. A file system can either be mounted
5355 synchronously or asynchronously on a particular drive. Operations on a
5356 asynchronous file system drive are handled in a separate drive thread. There
5357 is also a thread to handle session disconnection.
5358 Thread-safe reference counting objects and their containers have been added.
5359 Notifiers have been modified so that a media change results in notification
5360 completion only on the relevant socket.
5363 1) DEF022431 - (Propagated) The filesystem is corrupted and the device
5364 won't boot at all anymore.
5368 (Made by JonathanM, 19/05/2003)
5370 0. MarkDo, JonathanM and ChrisM
5371 1. Changes resulting from making E32 compatible with with
5372 Symbian OS version 7.0
5375 1) Fixed problem mounting CDROMs in ESTART.
5376 2) Increase F32 heap size to 512K in direct memory model.
5377 3) Fix from StefanW for LFFS failure to mount if a previous format was
5378 interrupted before writing the Ifile.
5381 1) Fixed defect DEF000073 "FAT FS: checkdisk computes wrong cluster
5385 1) Fixed use of __DATA_CAGING__ in F32.
5386 NOTE: F32TEST are not Dataging Complient as most use Default Path functions
5389 1) DEF015967 - Cannot format disk with DiskAdmin capability (add DiskAdmin
5390 capability to Format and FormatNext)
5394 (Made by ChrisM, 17/03/2003)
5397 1) Added read only file system, ROFS to F32. This is a suplimentary file
5398 system aimed at ROM over spill and similar that uses media sub-system
5399 and can therefore be used for on a variaty of media, including non XIP
5401 2) Added support for mounting Rofs on J: for platforms and V: for WINS
5405 1) Extend RUNTESTS.EXE to check for leftover processes and to detect
5406 spurious background activity.
5408 2) The ELF-derived and JFormat flags have been generalised into header
5409 format, import format and ABI fields. An entry point type field has
5410 been added to distinguish EKA1 and EKA2 entry points.
5412 3) F32IMAGE.H is now exported and is used in building E32TOOLS instead
5413 of having a separate copy in E32TOOLS.
5415 4) Removed code which opens handles in order to check if a client has data
5416 caging enabled and replaced it with calls to the new RMessagePtr API.
5418 5) Change loader and ROMBUILD to recognise earlier Jetstream binaries
5419 which had the J flag in bit 3. If the new header format (bits 24-27)
5420 is zero, bits 3 and 4 are checked for J and ELF respectively.
5423 1) Changed InitializeLocalDriveMappingL() in \SFILE\SF_MAIN.CPP to use
5424 RLocalDrive::IsRemovable() rather than RLocalDrive::MediaDevice() to
5425 determine socket number.
5429 (Made by JonathanM, 14/01/2003)
5432 1) Fix for DEF002189 - eshell.exe should not have Root: Eshell now has Root
5433 and DiskAdmin instead of All.
5434 2) Fixed defect DEF012182 - Eshell.exe fails: Removed Root capability from
5435 eshell.mmp. Eshell still has Root capability in base ROMs to ease
5439 1) Revamped Win32 local filesystem's use of MapEmulatedFilename() to pass
5440 the entire path in to this function and removed defective double mapping
5441 from some functions.
5442 2) Discontinued support for relabelling Win32 volumes using
5443 RFs::SetVolumeLabel(). Win32 wolumes are always reported as unnamed and
5444 attempting to relabel them will return KErrNotSupported.
5447 1) 'Symbianised' LFFS to the coding standards (names of classes, member
5448 functions and variables; comments to generate Doxygen documentation;
5449 etc.). Note that this means that every file in LFFS has changed, and
5450 most of the lines within each file.
5451 2) DEF006380 - TFindFile::FindWildByDir(...) return incorrect error code.
5452 Fix is to detect and return KErrPermissionDenied in
5453 TFindFile::DoFindInDir(). Data caging tests modified to test this.
5456 1) Modified the Loader so that it can handle 'ElfDerived' images.
5459 1) Fixed defect DEF012072 LFFS: String class inefficient, removed the
5460 base class and changed name of the derived version + typedef.
5461 2) Fixed defect DEF012074 LFFS: unnecessary buffer fill when creating a
5463 3) DEF012075 LFFS: Unnecessary buffer fills while searching directories
5466 1) Submitted fix for "DEF015911 (Propagated) Camera:
5467 Could snap more than 255 images but only 255
5468 images were saved to MMC".
5473 (Made by AndrewT, 29/10/2002)
5476 1) Fix for DEF002418 - ESTART has all capabilities
5477 2) Relaxed meaning of 'EDataCagingOn' to merely indicate whether the data
5478 cage should be enforced. So all new APIs are available with data caging off
5479 and security violations are still traced when data caging is on.
5480 2) Improved Data caging trace information to include the path name where
5484 1) Changed all binaries which link to EFILE to get their capabilities from
5485 include file "F32CAPS.MMH"
5486 2) Changed loader to require KCapabilityAll for Device Drivers and Locales.
5487 3) Removed all usage of RProcess::SecureApi and User::RemoveCapabilities.
5491 (Made by JonathanM, 21/10/2002)
5494 1) Fix for DEF000070 - Ambiguous error message in LFFS
5495 2) Fix for DEF000109 - LFFS: bgThread pointer can be accessed before it has been set
5496 3) Fix for DEF000160 - LFFS: reclaim thread infinite loop if it can't calc valid data.
5497 4) Fix for DEF000185 - LFFS can miss the last log entry when reclaiming - updated
5498 5) Fix for DEF000247 - LFFS inefficient code in reclaim finding last log entry in segment
5499 6) Fix for DEF000370 - LFFS: calculateValidSize can exit without unlocking mutex
5500 7) Fix for DEF000395 - LFFS: deadlock because rollfwd too far behind.
5501 8) Fix for DEF000411 - LFFS does not protect against bit errors in StrataFlash
5502 9) Fix for DEF000041 - Function doesn't do what it says.
5503 10) Modified ControlIO to enforce use of TDes8 as required by the secure kernel
5504 (modified in CL_DEBUG.CPP, and updated affected tests)
5506 1) Fixed pre load list
5507 2) Inserted hashing code from security and hash checking code but not used yet
5509 1) Fixed DEF001331 The behaviour of CCaptureKeys is that "the last one wins"
5510 given equal priorities
5511 2) Fixed defect EXT-5AKDAM "RFs: Folders with trailing dots cause big
5512 problems in the Flash File system and applications that use the file
5513 system". Lffs modified to handle trailing dot in the same way as the
5515 3) Fixed defect FID-5C3LZ3 "Bad directory entry can panic FAT filesystem".
5516 4) Fixed defect FID-5CDLEF "FAT FSY checkdisk doesn't allocate enough memory for
5518 5) Fixed defect OLD-5C7MAB "F32 Loader Cache does not update to see ROLF Drive on
5520 6) Fixed defect EXT-5BBB45 "RFs::NotifyChange() with 0length file name kills file
5522 7) Fixed defect EXT-5BMC53 "CFileMan::Copy() reports wrong for error for non-existent
5524 8) Fixed EXT-5AJ8DJ(DEF000541) "RFile method Write never completes"
5525 9) Fixed FID-5DVK66(DEF001380) "LFFS: should check the flag validity for every log entry"
5526 10) Fixed DEF001631 - eshell previous command recollection doesn't work with single
5529 1) Fix for DEF000064: (Propagated) Bug in comparison with "ELOCAL" in
5530 AddFileSystem::DoRequestL. Modified f32/sfile/sf_sys.cpp to match the
5531 original defect fix.
5534 1) Fixed DEF000848 - "Loader cache will not set up any notifiers if no valid drives on boot"
5538 1) Introduced file sharing between client and server processes
5544 (Made by JonathanM, 20/09/2002)
5547 1. Changed RUNTESTS so that it lets the Loader find 'missing' test files.
5548 This enables it to run tests which have been moved to \system\bin due
5551 1. Fixed defect DEF001173 - Eshell.exe drive change command causes a
5556 (Made by Nicolas, 16/09/2002)
5559 1. Added support for compressed executables. Uses a deflate algorithm
5560 Huffman+LZ77. Huffman code is in EUSER the LZ77 code is local. The
5561 iFlags field has JFormat added (for non-xip) and the iFormat field
5562 will either flag 0-uncompressed or be KUidCompressionDeflate which
5563 as the label says means compressed with deflate. The deflate code
5564 is virtually identical to that in Tools and should be kept that way.
5566 1. Set ESHELL's 3rd UID to nul to work-around bug in UIKON preventing
5567 from starting non nul 3rd UID executables from graphical shell.
5571 (Made by Dennis, 16/08/2002)
5574 1. iCheckSumCode and iCheckSumData in E32ImageHeader have been replaced by
5575 iCapability and iFormat.
5576 iCapability is passed into the kernel and used to set the capabilities
5577 for that executable module and for any process instantiated from it.
5580 1. Ported defect fixes from Hurricane.
5581 2. Introduced support for file server extensions at the plugin file system/
5582 media subsystem interface. Primary extensions are mounted on a drive at the
5583 same time as the file system whilst secondary extensions are mounted after
5584 the file system has been mounted.
5585 3. Modified file server startup so that the local file system has to be
5586 explicitly loaded in estart on the necessary drives.
5587 4. Modified drive letter to local drive mapping so any file system can be
5588 mounted on any drive. This involved the following changes:
5589 - RFs::SetLocalDriveMapping() introduced. To be called from estart.
5590 - Removed CFileSystem::DriveList().
5591 - Drive attributes only set if file system mounted on the drive.
5592 - Local file system versions of DriveNumberToLocalDrive() no longer used.
5593 5. Removed copyf32.bat and copyrel.bat from \f32\group.
5597 (Made by Dennis, 11/07/2002)
5599 Memory model and loader changes.
5600 Two mode secure kernel.
5603 1. Rewrote loader to support per-process writeable static data in DLLs
5604 and to work with new kernel code management.
5606 2. Loading of device drivers, file systems and locale DLLs is now done
5607 entirely by the loader rather than partially on the client side.
5609 3. Added generic automounting of file systems to ESTART, based on the values
5610 returned by the media driver for media type and partition type.
5611 FAT is only mounted on drives which return a FAT partition type or which
5612 are removable, not ready and don't return a media type of FLASH or CDROM.
5614 4. Remove masking of file attributes in file server to allow the new ROM XIP
5615 attribute to be reported.
5617 5. Added ISO9660 and NTFS (read only) file systems.
5619 6. Integrated platform security changes (data caging).
5621 7. Changed "z:\system\data\Dll Preload List" to "z:\system\data\preload.lst"
5622 to avoid moronic spaces in filenames which knacker tools.
5624 8. Changes resulting from TInt64 now being a built-in type instead of a class.
5626 9. In ESTART for the emulator, disable preemption before calling ExitProcess()
5627 when the initial EXE has terminated.
5632 (Made by AndrewT, 21/05/2002)
5634 First release of EKA2 into Symbian OS mainline.
5639 (Made by Dennis, 04/04/2002)
5642 1) Fixed defect BRY-58DQ8A "RDebug::Prints in F32".
5643 2) Fixed defect BRY-58DPTJ "RDebug::Print in cl_parse.cpp".
5647 (Made by CarlosF, 12/03/2002)
5650 1) Fixed defect DON-57ZNSZ "Mounting a file system with a locked media can
5651 panic the file server". Migrated from 6.1.
5652 2) Fixed defect DON-582CPM "GetLongName() doesn't give KErrNotFound on deleted
5653 file". Migrated from 6.1.
5654 3) Fixed defect DON-582CS7 "Invalid cast between incompatible enums in
5655 TDrive::DriveInfo". Migrated from 6.1.
5656 4) Fixed defect DON-582CY5 "FAT FS: free cluster search doesn't search entire
5657 FAT". Migrated from 6.1.
5658 5) Fixed defect DON-57ZLSH "& vs && in TFindFile".
5659 6) Fixed defect DON-582FQW "Secure MMC: TFindFile should not scan locked
5660 drives. Migrated from 6.0.
5661 7) Fixed defect DON-57ZLVM "Incompatibility of FAT between EPOC and MSDOS".
5662 Unused fat entries are no longer 0xff filled after formatting.
5663 8) Fixed defect DON-585JBS "Memory card password file shown in dialogs".
5664 Password file is now stored as c:\system\mmcstore.
5665 9) Fixed defect DON-586FXT "ESHELL start command doesn't report errors".
5668 1) Changes associated with implementing CR PHAR-54RJMT 'We should be able to simulate
5669 password protected disks on the emulator'.
5672 1) Submitted a fix for FID-544KQJ where the LFFS is limited to 256 segments. Now uses
5673 a dynamic number of segments based on the physical media
5678 (Made by ChrisM, 06/03/2002)
5680 1) Removed unnecessary call to TBusLocalDrive::Caps() in
5681 CLffsFileSystem::DriveNumberToLocalDrive().
5682 2) Modified CFatMountCB::MaxClusterNumber() to use right shift.
5683 3) Fixed defect PRX-57D69V "executive call overhead in rom fs".
5684 Rom address header is now stored in CRom.
5685 4) Implemented CR MDON-57HLDW "RFs::LockDrive() should not allow
5686 user to not store password". Both LockDrive() and UnlockDrive()
5687 now return KErrNotSupported if the password is not stored.
5690 1) Submitted RichardF's read ahead cache to optimise log reads in the log flash
5692 2) Submitted fix from RichardF for defect FID-54YDZT where a forced reclaim can use
5693 all erased space and cannot be recovered, for the LFFS system.
5694 3) Submitted Code from RichardF to fix FID-568L6X where lffs leaves orphaned entries on the
5695 list when a write fails.
5700 (Made by RobertJ, 11/02/2002)
5703 1) Fixed defect PRX-573BNC "Preload() (little perf improvement)". The function
5704 now returns immediately if the preload list is not found.
5705 2) Fixed defect FID-573GWT "LFFS stack size should take account of
5709 1) Extended the class CFatFormatCB in the FAT file system by adding the
5710 following new members:-
5711 TInt iNumberOfHeads;
5712 TInt iSectorsPerTrack;
5713 When formatting a FAT disk, these new members are set as part of
5714 the function CFatFormatCB::InitializeFormatDataL() when formatting first
5715 commences. They are used to initialise the corresponding fields in the boot
5716 sector once the physical formatting of the disk has completed.
5717 2) Changes to FAT file system special formatting mode.
5718 The 'number of heads' and 'sectors per track'
5719 info. is read from the local drive caps. and written two the above
5720 two data members of CFatFormatCB.
5724 (Made by PeterS, 04/02/2002)
5727 1) Fixed FID-562G4V (App can kill F32 by attempting to mount filesystem on
5728 unsupported drive.) Changed CFatMountCB::MountL() and
5729 CFatFileSystem::DriveInfo() to check if running on supported local drive.
5730 2) Added file system adding and mounting error checking to E32Main()
5732 3) Fixed FID-566G8P (Bug in comparison with "ELOCAL" in AddFileSystem) by
5733 changing CompareF() in TFsAddFileSystem::DoRequestL() to check for
5734 "ELOCAL.FSY" filename and extension.
5737 1) Added new debugport command to eshell. See E32 367
5738 release notes for details.
5739 2) Fixed bug in gobble and setsize eshell commands which
5740 wrongly reported errors when using hexadecimal sizes.
5743 1) Fixed defect BEN-4YRGKV "Ecom not recognising plugins once unplugged and
5744 replugged". RFs::Rename(), RFs::Replace(), and RFile::Rename() now have
5745 source and destination entries checked by extended notification mechanism.
5749 (Made by MarkCa, 15/01/2002)
5752 1) Changes to FAT file system to add support for a
5753 special formatting mode. This
5754 formatting mode is selected using the TFormatMode: ESpecialFormat.
5755 Corresponding changes to the 'Format' command in
5756 ESHELL so that drives can be formatted in this mode from the shell by
5757 using the switch /s (e.g. 'FORMAT D: /S').
5758 2) Migrated FAT file system optimizations implemented in
5759 the 6.0 release. This include2 the following changes:
5760 - 6.0 defect EDNMDON-537CZA "Directory creation in FAT causes unnecessary
5762 - 6.0 defect EDNGLAY-53UCDG "Unnecessary flushing of the fat when writing
5763 to a file for the first time".
5764 - 6.0 defect EDNGLAY-53UCLA "Unnecessary metadata writes when creating entry
5765 in fat file system".
5766 - The #defines _ABSOLUTE_LRU_SIZE _ and USE_TRUE_LRU_CACHE uncommented in
5767 SFAT\SL_CACHE.CPP so that a true lru cache of 32KB is used for metadata.
5768 - Modification to CFatMountCB::AddDirEntryL() so that end of directory
5769 marker only written if not already zero.
5773 (Made by AndrewJ, 12/12/2001)
5776 1) Fixed defect DON-4ZKD9H "File server does not fully support write
5778 2) Fixed defect DON-53ZDXF "Build error in file server when _LOCKABLE_MEDIA
5782 1) Fixed JON-53BMJZ (RRawDisk de-references a null pointer when used on a
5783 corrupt drive (due to forced a mount)) changed the behaviour of
5784 RRawDisk objects so that they be prevented on a corrupt disk or one
5785 that is being formatted. Only one RRawDisk object should be able to
5786 access a mount at once. Similar behaviour has been implemented for
5787 RFormat objects as well, they will obviously have access to corrupt
5791 1) Fixed DON-4V7BUZ (KErrNoMemory cannot be returned on c:)
5792 2) Fixed CFileCB::~CFileCB, which called iLock->Close() without checking
5793 if was successfully allocated.
5796 1) Integrated changes to DEF files from the mainline.
5797 Frozen exports are now marked with the R3UNUSED flag where appropriate.
5798 This is to support the thumb stub optimisation where the R3 register is
5799 use to generate a smaller import stub for a function if it isn't used to
5804 (Made by MichaelP, 20/11/2001)
5807 1) Fixed PEN-52ZM5A (Function doesn't do what it says.) Changed comment
5808 for IsSpace() in sfile\sf_utl.cpp.
5809 2) Fixed FID-4W5BYE (Ambiguous error message in LFFS.) Changed
5810 Inode::readBlock() to distinguish between CRC and media driver errors
5811 when reading a block.
5812 3) Simplified media driver loading in F32 startup thread.
5815 1) Fixed defect MAY-4ULHBH (B_OPEN crashes the file server on LFFS) by increaseing
5816 the Log size in the lffs file system, note the size of the lffs dive on assabet
5817 has been reduced to 8Mb.
5818 2) Fixed defect FID-537HQA (LFFS: increase reclaim thread stack size) by doubling
5819 current stack allocation as suggested in the defect report.
5822 1) Fixed defect DON-4WXDHK "RFs::RemoveFileSystem does not return correct
5823 error value". KErrNone is now returned when a file system has been
5824 successfully removed.
5825 2) Fixed defect THY-4WKD5P "gobble (in eshell) can delete existing files". If
5826 the file already exists then gobble fails but does not delete the file.
5830 (Made by Dennis, 26/10/2001)
5833 1) Fixed 6.1 defect DON-52SC7L (Disk space notification does unnecessary
5834 checking for RFile::Write.) Added TBool iFreeChanged instance variable
5835 to CMountCB. TFsFileWrite::DoRequestL() sets this iff the file size
5836 has changed. CSessionFs::Complete() uses the value stored in
5837 DiskSpaceInfo[iTheDrive.iDriveNumber].iFreeDiskSpace if the file
5838 size has not changed.
5842 (Made by ChrisM, 05/10/2001)
5845 1) Fixed DON-4ZKDKK (Moving a directory leads to incorrect parent directory
5846 cluster number.) Parent Directory Pointer FAT entry is updated at end
5847 of CFatMountCB::DoRenameOrReplaceL().
5849 1) Fixed defect DON-4ZSLL9 "CMountCB::ControlIO cannot be called when
5850 RRawDisk subsession open". ControlIO can now be called when a RRawDisk
5851 or RFormat subsession is open.
5852 2) Fixed defect DON-52FJDQ "RFs::ReadFileSection() does not alway return
5858 (Made by AndrewT, 31/08/2001)
5861 1) Implemented a loader file names cache to speed up loading dlls & executables.
5862 Added sf_cache.cpp,sf_cfind.cpp & sf_cache.h. Extensively modified sf_ldr.cpp.
5863 2) Implemented change request PGEN-4VXMEM "Load and run ROM executables from RAM"
5866 1) Changed /F32/INC from IPR category A to category E (SC change request EJAN-4Z5GEA).
5870 (Made by Peter, 06/08/2001)
5873 1) Fixed defect DON-4YTBWB "Removing cf-card whilst formatting can crash the
5875 2) Fixed defect HOH-4RGFJN "Scandisk doesn't like the way that we make
5876 directories". Each directory is now zeroed on creation.
5879 1) Removed \f32\group\mnt.bat which was redundant.
5880 2) Addition of the function RFs::RemountDrive(TInt aDrive,const TDesC8* aMountInfo=NULL,TUint aFlags)
5884 (Made by JonathanM, 17/07/2001)
5887 1) Migrating fix from 6.1/6.0 in fileserver where cancelling a move operation
5888 results in the wrong file being deleted and the corrupt/half copied version
5893 (Made by Michael, 21/06/2001)
5896 1) Fixed defect OEL-4V2H8V "Disk notifications do not come in for devices
5898 2) Modified file server to allow requests to be handled when the
5899 non-critical password notifier is up. Changes to CServerTask,
5900 CAsynNotifier and the parsing functions. Introduction of
5901 CNonCriticalNotifier and TFileServerHung classes. Modified
5902 TDriver::HandleCriticalError() in fat file system so that password
5903 notifier is only brought up if user notification set. See defect
5904 DON-4XNK65 (File server requests are not handled when a password
5906 3) Introduced additional commands to CFatMountCB::ControlIO and
5907 TFsControlIo::DoRequestL to allow testing of 2).
5908 4) Modified RUNTESTS. This can now take two additional arguments
5909 with the new syntax:
5911 runtests <script> <dir> <timeout> <args>
5913 <timeout> is the timeout period in minutes. <args> is passed into
5914 all the test processes created. Also introduced #defines to allow
5915 no timeout to be used, runtests to exit on the first error and for
5916 the batch file to be repeatedly read. Introduced to test 2).
5919 1) Modified \sfat\sl_fsy.cpp to or in KMediaAttHasPassword when a
5920 media is locked. This is part of e32 fixes EDNHLJT-4WZGTD and
5922 2) Fixed EDNDBEY-4W5EM6 (Secure MMC password not remembered) by
5923 using absolute filename for password file in f32fsys.h.
5924 3) Implemented CR PSCE-4VMP3K to set hard limit for RAM drive.
5925 CFatMountCB::Enlarge() checks against limit, and CFatMountCB::VolumeL()
5930 (Made by Carlos, 31/05/2001)
5933 1) Changed runtests.exe so it displays the duration of
5934 the tests in seconds.
5937 1) Fixed defect DON-4VWCWG "Windows does not like the way we make some dos
5939 2) Enabled LFFS tracing to be turned on via RFs::SetDebugRegister().
5940 Use /t switch with trace command for text shell.
5943 1) Deprecated CompareFilenames function and changed the function that used
5947 (Made by Pete, 10/05/2001)
5950 1) Added base support for store LFFS optimization. New function Drive()
5955 (Made by Nicolas, 04/05/2001)
5958 1) Merged 6.1 release branch back into the mainline.
5962 (Made by Dennis, 20/04/2001)
5965 1) Fixed defect EDNMHEY-4FEKYU Searching for "Dll Preload List" takes
5969 1) Changed F32.iby so it only includes the default e32strt.exe if
5970 CUSTOM_ROM is not defined.
5971 2) Removed refrences to the BASE_ROM definition as an include option as
5975 1) Fixed SCE-4VJJ32 "F32\SLFFS should be IPR category A, not category E"
5979 (Made by RobertJ, 26/03/2001)
5982 1) Fixed EDNJHAS-4KFR5G (File handle mis-management crashes the kernel)
5983 2) Removed spurious debug in ShellCommand::(Lock|Unlock|Clear)().
5986 1) Fixed bug EDNMDON-4KUCTK "Locked multimedia card can panic file server".
5987 Return value of KErrBadHandle from password notifier is now handled
5991 1) Fixed JON-4URH39 Format problem for segments count greater than 100
5993 2) Fixed TOD-4RWEHL KErrNoMemory problem in FindWildByDir()
5996 1) Modified StartupThread() in sf_main.cpp to scan for media drivers
5997 instead of explicitly loading them by name.
6001 (Made by Morgan, 08/01/2001)
6004 1) Made the loader cope with DLLs with no imports
6007 1) Fixed defect DON-4TXKUB "TEntry needs copy c'tor and =operator".
6008 2) Fixed defect THE-4UBE55 "Corrupted FAT and cross-contaminated
6009 files after file truncation". Seek index is now cleared in the
6014 (Made by Morgan, 09/04/2001)
6017 1) Fixed bug in ESHELL/HEXDUMP introduced when switching to Unicode
6018 (the right part of the ASCII dump is now correct).
6021 1) Fixed defect FID-4UZLMW Enable controlio in UREL builds
6022 2) Fixed defect CHM-4TSNF3 file server can not cope with invalid file names
6023 3) Fixed defect CHM-4URFMZ server panics when scanning max length files
6026 1) Fixed defect EDNMHEY-4FEKYU Searching for "Dll Preload List" takes
6030 1) Fixed SCE-4VJJ32 "F32\SLFFS should be IPR category A, not category E"
6035 (Made by Will Ramsay, 03/04/2001)
6037 1) Backported change from Morgan to 6.2
6038 1) Made the loader cope with DLLs with no imports
6042 (Made by MarkCa, 20-03-2001)
6045 1) Fixed bug EDNMDON-4KUCTK "Locked multimedia card can panic file server".
6046 Return value of KErrBadHandle from password notifier is now handled
6050 1) Fixed JON-4URH39 Format problem for segments count greater than 100
6052 2) Fixed TOD-4RWEHL KErrNoMemory problem in FindWildByDir()
6057 (Made by Nicolas, 27-02-2001)
6060 1) Fixed defect DON-4TXKUB "TEntry needs copy c'tor and =operator".
6061 2) Fixed defect THE-4UBE55 "Corrupted FAT and cross-contaminated
6062 files after file truncation". Seek index is now cleared in the
6064 3) Fixed defect HAR-4UDN92 "Calling RFs::NotifyChangeCancel without
6065 first calling RFs::NotifyChange crashes the file server".
6068 1) Fixed EDNJHAS-4KFR5G (File handle mis-management crashes the kernel)
6069 2) Removed spurious debug in ShellCommand::(Lock|Unlock|Clear)().
6074 (Made by Pete, 19-01-2001)
6077 1) Merged in version R1.3 of Log Flash File System (LFFS) - released
6078 by ENEA. Release notes for additional features this provides:-
6081 - Retry of failed erase operations. (Compensates for faulty hardware)
6084 - Unable to mount in an unusual situation when power down during
6085 write caused write failure of two specific bits. The two
6086 "outdated" or "transaction start" bits were required to match for
6088 - Bad behaviour related to allocation of media space.
6089 - Several minor bugs.
6090 This fixes defect FID-4RZGU4 "Power loss can corrupt LFFS filesystem".
6091 2) Fixed defect FID-4R9MPF "LFFS doesn't obey the rules for RFormat".
6092 3) Fixed defect FID-4QVF5C "Reduce heap & stack size for LFFS reclaim thread".
6093 4) Fixed defect FID-4STGGU "LFFS CRC function can be optimized".
6094 5) Fixed defect FID-4RTE6Q "Make F32 auto-mount LFFS under WINS".
6095 6) Fixed defect FID-4RDE2S "Source code change required for mounting non-FAT filesystem as local"
6099 (Made by RobertJ, 13-12-2000)
6102 1) Loader speed improvements. Dll's that are already loaded in the
6103 system are loaded using information available from the kernel,
6104 rather than going to disk.
6107 1) Fixed defect EDNRFID-4KZGXR "ESHELL Gobble command should put
6108 real data in the file". Gobble now fills file with 0xef. New
6109 eshell command SETSIZE introduced which sets size of file but
6110 does not fill. The file is created if it does not exist.
6111 2) Fixed defect HOH-4RDLVN "RFs::GetDir reports KErrCorrupt if only
6112 one file is corrupt". This fix only applies to the fat file
6114 3) Fixed defect HOH-4RGEXH "Corrupt on CF card when OOM/Low on Mem".
6115 Free cluster count in fat file system is now calculated from
6117 4) Fixed defect HOH-4RGF97 "RFs::NotifyChangeCancel(TRquestStatus&)
6118 can fail in Debug builds".
6119 5) Fixed defect HOH-4RGFCJ "Renaming long filenames causes a Kernel
6121 6) Fixed defect EDNRFID-4NGJCT "Bad cast in LFFS loses significant
6122 bits on >16Mb flash".
6123 7) Fixed defect EDNRFID-4PYF2E "Change priority of LFFS background
6125 8) Modified fat table caching so that dirty array is used when cache
6126 is written to. When flushing only sectors marked as dirty are
6127 written to disk. These changes required additional pure virtual
6128 functions to be added to CDataCache class. This feature can be
6129 enabled/disabled using #define _USE_DIRTY_FIXED_CACHE.
6130 9) Introduced two new #defines in \F32\SFAT\SL_CACHE.CPP:
6132 allows absolute lru cache size to be set in CLruCache
6135 allows true lru caching to be used in CLruCache class. At
6136 present fifo caching used.
6137 Both #defines are commented out awaiting further benchmarking.
6138 10) Introduced disk space notification. Client can now be notified when
6139 the free space for a drive crosses a threshold specified by the
6141 11) Modified initialisation when file server passed a handle to an
6142 existing subsession object. The data member iTheDrive is now set
6143 for the session. This is necessary for disk space notification.
6146 1) Added disk space notification to LFFS filesystem. This adds a
6147 notification from the background thread after completing a
6148 reclaim or roll-forward operation.
6150 2) Added a new ControlIo function to LFFS for testing disk
6151 space notification. CIO_BACKGROUND_NOTIFY_DISK_SIZE allows
6152 test code to force a value into the reclaim thread. The next
6153 notification from the reclaim thread will use this value instead
6154 of the real disk space. This is one-shot so subsequent
6155 notifications will report real disk space.
6160 (Made by Nicolas, 19-10-2000)
6163 1) Modified the file server so that it now attempts to
6164 load MMC Media driver (MEDMMC.PDD) rather than Compact Rom Media
6165 driver (MEDCRM.PDD) on startup.
6168 1) Modified ESHELL "DEBUG" command so it can launch the new GDBSTUB.
6173 (Made by MarkCa, 29/09/2000)
6176 1) Fixed bug EDNDKNT-4NVNBN "Behaviour of RFormat::Next() has changed
6177 since ER5". Extended change notification request when drive is locked
6178 is now handled in same way as when path is not found.
6183 (Made by Dennis, 13-09-2000)
6186 1) In SF_LDR.CPP, use User::Free(anIdle) instead of delete anIdle since
6187 anIdle is a TAny* and there is no destructor which could be called.
6188 2) Replace the non-debugging uses of _L() with _LIT() in SF_LDR.CPP
6191 1) Added code to ESTART to restore the modifiable HAL attributes from file
6192 \System\Data\HAL.DAT. This is loaded from any drive in the usual search
6197 (Made by RobertJ, 20-07-2000)
6200 1) Added patch from ENEA to stop LFFS entering read-only mode
6202 2) Added patch from ENEA to fix LFFS failure to delete file from root
6207 (Made by RobertJ, 29-06-2000)
6210 1) Fixed defect EDNDBAR-4KDK8H (TKeyDir::Compare should use
6211 TDesC::CompareC, not TDesC::CompareF). A new exported function
6212 CompareFilenames(const TDesC& aFileName1,const TDesC& aFileName2)
6213 has been added to the file server. This function is only used in
6218 (Made by Dennis, 22-06-2000)
6221 1) Fixed EDNABAN-4AEECH. Made the Loader notice the KNoCallEntryPoint
6222 flag when loading executables from Ram.
6225 1) Made ESTART call HAL to ensure that HAL's memory is allocated.
6229 (Made by Markdo, 07.06.2000)
6232 1) Merged in changes made to \F32\SLFFS\ on lffs acceptance branch.
6233 2) Fixed defect EDNMDON-4KGM6E (Hung file server does not correctly deal
6234 with session that has been killed).
6235 3) Fixed defect EDNMDON-4LSEXD (File server panics if scandrive called
6236 at startup).Changes to ensure scandrive called correctly in startup
6240 1) Implemented bug fix EDNMDON-4J2EWK in \f32\sfat\sl_file.cpp.
6244 (Made by Alastair 23.5.2000)
6248 1) Removed changes made in version 207 to enter and leave the kernel
6249 critical section around calls to Win32's LoadLibrary() function, now
6250 that E32 is calling Dll entry points rather than leaving this up to
6251 the Windows operating system to do.
6256 (Made by MarkCa, 16/05/00)
6259 1) Removed compiler warnings.
6263 (Made by Morgan, 7/4/2000)
6266 1) Minor changes to ETSHELL\TS_COM.CPP in lock, unlock and clear commands
6267 to print command information.
6270 1) Mmc security features disabled. To enable define _LOCKABLE_MEDIA
6271 in \E32\INC\E32SVR.H.
6272 2) Changes to remove (some) compiler warnings.
6273 3) Added reserved virtual function in CMountCB.
6276 1) Added code to enter the kernel critical section before the Win32 call
6277 to LoadLibrary() in \f32\sfile\sf_ldr.cpp and leave it afterwards. This
6278 is in order to avoid deadlock with NT Service Pack 5 where the LoadLibrary()
6279 call is deadlocked with some other thread, probably one which has the
6280 Kernel critical section and is waiting on an internal NT lock for the
6281 library to finish loading. This change that under WINS/WINC libraries
6282 can't make any calls which will require the kernel critical section, such
6283 as kernel executive calls, in their entrypoints when EDllProcessAttach and
6284 EDllThreadAttach is passed as the aReason parameter.
6285 2) Added RDebug::Print statement so that the name of a library which fails
6286 to load is reported to the Output window in the Debugger.
6289 1) Modified file server and FAT file system to use
6290 UseHal::DriveInfo() to determine whether to implement a rugged file
6292 2) Added latest version of Log Flash File System (LFFS) - released with 4th
6293 candidate version (R1.2) of LFFS.
6294 3) Added #define _DEBUG_RELEASE to F32\INC\F32DBG.H to allow debugging
6296 4) Added the debug functions RFs::DebugNotify() required for LFFS testing.
6301 (Made by Dennis, 23.03.2000)
6304 1) Implemented RFs member functions LockDrive,UnlockDrive and ClearPasword.
6305 Added corresponding virtual functions to CMountCB class which return
6306 KErrNotSupported. Overrode these functions in CFatMountCB class.
6307 2) Changes to TDrive functions dealing with the mounting of a device. If
6308 disk access returns KErrLocked then asynchronous notifier brought up
6309 requesting password.
6310 3) Added exported WriteToDisk(const TDesC& aFileName,const TDesC8& aBuf)
6311 function in file server. Used to write buffer to root of default drive.
6312 4) Modified file server startup code so that file KMediaPWrdFile is used to
6313 initialise mmc controller password store.
6314 5) Appended L to RestartActiveScheduler(CSessionFS*) function name. This is
6315 no longer exported from the file server. Removed RestartActiveScheduler()
6317 6) Modified CAsyncNotifier class. Function added to call extended notifier.
6318 RestartActiveScheduler now called from within member functions.
6319 7) Modified TDriver class. If CFatMountCB::Remount returns KErrLocked then
6320 attempt made to unlock card.
6321 8) Fixed bugs EDNGASR-4GUL9U and EDNGASR-4GSES9. TFileText now checks for
6322 Unicode byte order mark and paragrah separator. TFileText::Seek is longer
6323 const and clears it read buffer.
6327 1) \F32\ETSHELL\TS_COM.CPP
6328 Changed lock, unlock and clear commands to use actual RFs functions.
6330 Defined datatypes for delayed writer thread.
6331 Added EMainStartupWriteToDiskSemaphore to TFsFault.
6332 \F32\SFILE\SF_DISK.CPP
6333 Implemented async thread for so file server can write data to file.
6334 \F32\SFILE\SF_MAIN.CPP
6335 Created global semaphore for queuing delayed writes in startup thread.
6338 1) Added the debug function RFs::DebugNotify() required for LFFS acceptance testing.
6342 (Made by RobertJ 20-03-00)
6345 \F32\ETSHELL\TS_COM.CPP
6346 Added ShellFunction::(Lock|Unlock|Clear) functions.
6347 Included functions in CShell::iCommand[] array.
6349 \F32\ETSHELL\TS_STD.H
6350 Added ShellFunction::(Lock|Unlock|Clear) prototypes.
6351 Increased ENoShellCommands from 24 to 27.
6355 (Made by MarkCa 03-03-00)
6358 \F32\INC\F32FILE.H Additional RFs prototypes
6359 \F32\INC\MESSAGE.H EFs((Lock|Unlock)Drive|ClearPassword)
6360 \F32\SFSRV\CL_CLI.CPP RFs::((Lock|Unlock)Drive|ClearPassword)
6361 \F32\SFILE\SF_FUNC.H TFsLockDrive, TFsUnlockDrive, TFsClearPassword
6362 \F32\SFILE\SF_MAIN.CPP CSessionFs::ServiceL dispatch cases
6363 \F32\SFILE\SF_SES.CPP TFs((Lock|Unlock)Drive|ClearPassword)(DoRequestL|Initialise) stubs
6367 (Made by Dennis, 14-02-2000)
6370 1) Replaced most UserHal:: calls with corresponding HAL:: calls (if they
6373 1) Added debug function RFs::ControlIo(TInt aDrive,TInt aCommand,
6374 TAny* aParam1,TAny* aParam2). Originally added for LFFS
6375 acceptance testing. Can be used as debugging tool for file
6376 system by overriding virtual CMountCB::ControlIO().
6377 2) Added debug tool to fail writes to disk in TDriver class. Write
6378 failure info is stored in CFatMountCB and set via RFs::ControlIo().
6379 On write failure a specified error value can be returned or the
6381 3) Added scandrive utility for fat file system. Checks drive for
6382 specific errors and corrects them. Does not run on internal ram
6383 drive. Called at file server startup on Linda platforms.
6384 4) Ruggedised fat file system. If iIsRugged flag in CFatFileSystem
6385 set then in the event of power failure fat/metadata will be in
6386 a valid state if the scandrive utility is run immediately after.
6387 iIsRugged flag set for Linda platforms and can also be set/unset
6388 using RFs::ControlIo().
6389 5) Changed CRamFatTable::MemCopy to ensure ram drive is locked before
6390 returning from this function.
6395 (Made by Dennis, 19th January 2000)
6397 0) Use with E32(255)
6400 1) Removed calls to EUSER functions which no longer exist.
6403 1) Removed MARM, SARM, ARM3 and SARM3 configurations from BLD.INF.
6406 1) Change to FAT file system raw disk read/write. Required due to E32
6407 change where TBusLocalDrive Read(), Write() Format() functions
6408 use a TInt64 rather than a TInt to specify position within the drive.
6413 (Made by Morgan, 3/12/99)
6415 0) Use with E32(253)
6418 1) Changes to CRomMountCB::RawReadL(),CRomMountCB::ReadSectionL()
6419 and CFatMountCB::ReadSectionL(). RThread object is now set to
6420 handle of client. Fixes er5u bugs EDNPSCE-4C6JBG and
6424 1) Removed 256 character limit on command lines
6425 Changed CSessionLoader::LoadProcess to understand new RLoader
6426 RMessage with extra command line parameter. See E32(253).
6434 1) Merged in changes from ER5v134 that fixed bug MDON-484D9G
6435 '32Mb Ram results in corrupt Ram Drive'.
6436 2) Merged in changes from ER5v134 that fixed bug MDON-484CRH
6437 '64Mb Ram drive cannot be used'.
6438 3) Modified CFatFileSystem::DriveInfo so that TDriveInfo::iDriveAtt
6447 1) Added Log Flash File System (ELFFS.FSY) - 1st alpha.
6451 1) Added estart to the build. This is a placeholder for the
6452 variant specific estart.exe that will run the product specific
6453 startup. If BASE_ROM is specified when building roms then
6454 f32.iby selects e32strt.exe rather than estart.exe for placing
6455 in the rom as estart.exe, as e32strt is the dummy
6456 implementation for base text roms.
6458 EStart is now started by the FS rather than ewsrv.exe, and
6464 (Made by Mark, 16/09/99)
6467 1) Fixed bug EDNMHAN-4AFMWT (The internal drive is called "Inte").
6468 2) Fixed bug EDNMDON-4BPC5M (F32 tracing can reset machine).
6469 3) Fixed bug EDNMMIR-4BBNVD (RFs::ReadFileSection fails on Unicode ROMS).
6473 (Made by Morgan, 28/8/99)
6476 1) Changes to allow proper media change notification on platforms with
6477 more than one PC Card socket. The file server now requests media change
6478 notfication on each socket, rather than just socket 0. (This requires an
6479 associated change to e32 introduced in E32 release ???).
6482 1) Modified F32.IBY to allow ROMs to be built with ARM4/ARMI/THUMB code.
6485 1) Removed narrow frozen .DEF files.
6486 2) Re-frozen all .DEF files in new format so that the C++ name
6487 appears with the mangled name for all exports and windiff can be
6488 used to compare frozen .DEF files with generated .DEF files.
6494 (Made by Alastair, 2.8.99)
6499 CHANGES TO RELEASABLE
6501 1) F32 now releases zip files for ARMI, ARM4 and THUMB in the same style as
6502 it's other releasables, and no longer produces a MARM zip file. To use
6503 these releasables it's necessary to use E32TOOLP version 120 and the new
6505 This change is academic since the release is source-only and has been
6506 built with the old gcc compiler.
6509 1) Updated BLD.INF to work with the new GCC compiler and changes to
6510 E32TOOLP version 120.
6512 2) Changed ESHELL attrib command to use slightly less stack so that it
6513 compiles under MSVC6.
6517 (Made by Kal Patel 22 July 1999)
6519 Rebuilt with latest E32.
6524 (Made by Dennis 13.7.1999)
6527 1) Added dopcvs.pl and lock.pl to GROUP directory for use with MNT.BAT.
6528 2) Added fetcher definition file, F32.FTC, to the group directory.
6531 1) Fixed ER5 bug EDNWROS-45WGVY(Can't execute 8.3 program from CF card
6533 2) Fixed ER5 bug EDN028229(Unicode shell doesn't display disk name
6534 correctly). Volume name is limited to ascii characters with a max
6535 length of 11, both for narrow and unicode builds.
6536 3) Replaced relevent Win32 function calls with calls to euser.dll
6537 exported functions that return a pointer either to 'W' Win32
6538 function or euniw.dll wrapper function.
6541 1) Increased stack size of ESHELL from 8K to 16K. This is because it
6542 blows an 8K stack in the unicode build.
6543 2) Modified code to remove some compiler warnings with the new GCC
6544 compiler. Some warnings still remain ("taking address of temporary")
6545 which seem nontrivial to fix.
6546 3) Modified code in SFAT\SL_MNT.CPP (CFatMountCB::CountFreeClustersL)
6547 which crashes when built with the new compiler due to attempting a
6548 16-bit data access at an odd address. The code now explicitly does two
6549 separate byte accesses.
6550 4) Modified ESHELL to print the full exit code if a process terminates
6551 with any other code than KILL 0.
6552 5) Added test launcher program RUNTESTS.EXE. Syntax is
6554 runtests <script> <dir>
6556 where <script> is the name of the test script (eg e32auto.bat) and <dir>
6557 is the directory in which the test executables reside. If <dir> is
6558 omitted it defaults to Z:\TEST. The test script is assumed to reside in
6559 the same directory as the test EXEs unless a full path is specified for
6565 (Made by Alastair, 9.6.99)
6568 1) Building this version of F32 requires E32TOOLP version 108+. It's
6569 advisable to build your component with E32TOOLP version 108+ if you're
6570 using this version of F32 since import libraries are only released in
6571 the MARM release and WINS debug directories.
6572 2) Changed zips of releasables put onto the network. There is now one zip
6573 file for each platform. There is also a zip file for exported header
6574 files. Hence, The contents of S:\f32\zip includes
6575 export.<ver>, wins.<ver>, marm.<ver> and winc.<ver>.
6576 The files within these zip files now also have full pathnames so ensure
6577 you unzip them into the root of your EPOC drive with any flags required
6578 to recreate the directory structure.
6579 3) Added new command, MNT CHECKREL, to check that all releasables are
6580 present before doing an MNT PUTREL.
6581 Before doing MNT CHECKREL or MNT PUTREL call BLDMAKE -v RELFILES to
6582 create the lists of releasables.
6583 4) Split EFSRV.DLL under WINC into EFSRV.DLL and EFILE.DLL as under WINS.
6584 Removed hacks in the build system associated with munging EFSRV.DLL and
6585 EFILE.DLL together under WINC. EFSRV.DLL loads EFILE.DLL when required,
6587 5) Specified second uids in ELOCAL.MMP and EFAT.MMP as 0 so that these FSY-
6588 specific uids are set by makmake instead.
6589 6) Replaced all B[plat].PRJ files for use with BLDMAKE with BLD.INF in
6590 accordance with ER5u bldmake changes.
6591 7) Removed all E*.REL files from GROUP directory and changed MNT.BAT so that
6592 MNT PUTREL looks for .REL files generated by BLDMAKE instead. Updated
6593 BLD.INF accordingly.
6594 8) Removed EVALID.PL and EVALID.BAT from GROUP dir now that this version
6595 of EVALID is being released as part of E32TOOLP.
6596 9) Updated MNT GETBLD to fetch the SDMODELS component which replaces the
6597 SWINS component that E32 used to release.
6598 10) Remove XFILE.MMP - it's no longer required now that libraries can be
6599 built separately. Note that libraries must be build before other
6600 releasables because of mutual exporting between some F32 DLLs.
6606 (Made by Malcolm, 14th May 1999)
6609 1) Changed usage of KRomHeaderLinAddr to
6610 UserSvr::RomHeaderAddress(). This requires a recent E32
6615 (Made by Mark, 5th May 1999)
6618 1) Enabled a file system to be mounted on EDriveW for WINS.
6621 1) Added DismountFileSystem(..) and FileSystemName(..) functions to class RFs.
6622 2) Moved public member data in CMountCB, CFileCB, CDirCB, and CFormatCB to
6623 protected and provided relevant inline functions.
6627 (Made by Mark, 31th March 1999)
6630 Implemented fix to defect EDNGDAE-46FPNU in CServerFs::TheSessionHasDied(..).
6635 (Made by Jonathan, 23rd February 1999)
6638 1) Boilerplated source.
6641 1) Fixed bug EDN874266
6642 "I think Epoc COnnect is trying to access my A drive on Win 98"
6643 by not looking for a dll preload list on all drives under __WINC__.
6644 2) Changed MNT PUTSRC to use T:\Tools\Zip.exe rather than
6646 3) Changed MNT GETREL to get the WINC debugging releaseables for DEB and
6648 4) Moved \F32\INC\INCC.PRJ to \E32\GROUP\INCC.REL and changed MNT.BAT so
6649 this .REL file is treated in the same way as all the other .REL files.
6650 5) Updated validation process to use William's new EVALID.BAT (added to
6651 F32\Group pro tem.).
6656 (Made by Mark, 10th February 1999)
6659 1) Removed extra debug diagnostic checking added in v129. CFatMountCb::
6660 CheckIndirectionTableL(..) left in although not called.
6661 2) Fixed defect EDN760586 so that TDrive::IsFileOpen(..) checks that a
6662 matching file name is on same drive.
6663 3) Fixed defect EDN781415 by adding check in CFatMountCb::DoFindL(..) that
6664 aDosEntryPos is not past end of root directory.
6665 4) Fixed defect EDN621729 so that RFs::NotifyChange(..) cannot fail.
6666 The return type of these functions is now void instead of int.
6671 (Made by Pete, 3rd February 1999)
6673 THIS RELEASE OF F32 REQUIRES E32 163 OR LATER
6676 1) Changed over to use the TBusLocalDrive class rather than TLocalDrive
6677 for local drive access. This in turn required converting calls to
6678 TBusLocalDrive::Caps() to take a TLocalDriveCapsBuf parameter rather
6679 than a TLocalDriveCaps.
6682 1) Removable FAT formatted drives (ie CF cards) larger than or equal to
6683 16Mb in size are now formatted with a 16bit FAT rather than a 12bit
6689 (Made by Jo, 29th January 1999)
6692 1) Fixed an OOM bug in the loader (FindAndLoadDll(...))
6695 1) Added extra debug diagnostic checking to detect RAM drive inconsistencies
6696 2) Changed the order of operations in CRamFatTable::FreeClusterListL() so the
6697 RAM drive is not shrunk until the clusters referencing it have been deallocated.
6699 3) Modified CRamFatTable::FreeClusterListL() so it uses the true RAM drive size when shrinking the RAM drive, rather than attempting to calculate it from its stored value of iFreeclusters.
6701 4) Modified the DoRequest() function of TFsRequest so any fileserver operations that leave are caught and dealt with appropriately.
6703 5) Various concomitant modifications to CSessionFs Process() and CServerTask functions to deal with the change in 4)
6708 (Made by Morgan, 27th January 1999)
6711 1) Added debug diagnostic checking to attempt to track down a bug which causes F32 to attempt to write off the end of RAM drive. Before allocation or deallocation of clusters, debug builds will now check the contents of the File Indirection Table and compare the entry pointing to the end of the RAM drive with the actual size of the drive. Should the indirection table point beyond the real end of the RAM drive, an access violation at a recognisable memory location will occur. This is intended as a temporary addition to F32 debug code only.
6713 2) Added extra debug checking to ensure that the number of free RAM drive clusters F32 is attempting to access corresponds to the actual size of the RAM drive. Again, this additionaly checking is intended to be temporary.
6715 3) Added an extra check to CFatMountCB::InitializeL() to compare the size of the ram drive with the size F32 expects it to be, following its scan of the FAT table to determine the number of free clusters. This code is called only during the intial mounting of the RAM drive (eg following a warm boot). The drive will be re-shrunk if necessary to correspond to the number of free clusters F32 encountered.
6717 4) Changed KArbitraryWinsRamDiskSize from 2MB to 4MB to bring it into line with that of the EPOC machine ram drive maximum size. Doing this also fixes a WINS bug where the media driver thought the ram drive was 4MB while the free cluster count was limited to 2MB. This caused inconsistency between the free cluster count and the ram drive size when the media driver was happy to enlarge the drive above 2MB, whilst F32 was returning KErrDiskFull errors - without re-shrinking the ram drive.
6722 (Made by Jo, 19th January 1999)
6725 1) Removed the CSessionFs pointer member from classes CFixedCache, CRawDisk, CFatMountCB and CFatFileCB, introduced with the remote filesytem functionality. The session pointers were not being coherently updated with each new fileserver session - leading to occassional access violations. The pointers themselves were used only to pass to the global RestartActiveScheduler() functions - see below. Now the up to date TDrive session pointer is used instead. Modified the member functions of the above classes, and class TDriver appropriately.
6727 2) Modified the initialisation functions DoInitialise() in SFILE\SF_DIR and SFILE\SF_FILE, SFILE\SF_FMT and SFILE\SF_RAW to update the session pointer member in TDrive before dealing with various fileserver requests.
6729 3) Added a new function to class CServerFs. The function, TheSessionHasDied(), checks the session queue to determine whether the session pointer passed as a parameter is still valid.
6731 4) The global RestartActiveScheduler() functions were modified to behave safely in cases where the fileserver session has closed.
6733 5) Fixed a bug in RFs::Rename (SFILE\SF_NBS) which prevented extended fileserver notification requests completing.
6735 6) Added extra functionality to extended fileserver notification requests (SFILE\SF_SVR). It is now possible to submit a wildcarded path which notifies the client of changes to the path on any drive. eg the path ?:\test\ will return notifications for changes to the test directory of any drive. Fixes bug EDN262913.
6737 7) Some modification to cleanup routines in class CServerTask (SFILE\SF_TASK) in the light of changes to RestartActiveScheduler.
6739 8) Added function ParseNotificationPath() to SFILE\SF_UTL to allow wildcarded fileserver notification requests as described in 6).
6742 1) Added Dll-preloading functionality to F32 startup. List the Dll's to be
6743 loaded at start-up in the file "\System\Data\Dll Preload list" located
6744 on any drive. Filenames listed should be fully qualified, although it
6745 will attempt to load unqualified names using the usual search paths. The
6746 comment delimiter for this file is ';'.
6751 (Made by Jonathan, 12th January 1999)
6753 THIS RELEASE OF F32 REQUIRES E32 160 OR LATER
6756 1) Fixed defect EDN911803 "Rename creates duplicate file" which was due
6757 to the VFAT entry of the original file not being deleted when the
6758 new filename was FAT.
6760 2) Minor modification to ESHELL (\ETSHELL\TS_COM.cpp) so that the REL
6761 build of ESHELL does not stop TRACE from setting the F32 tracing
6764 3) Minor additions to \SFAT\SL_MNT.cpp to add extra checking for
6765 uninitialised CSessionFs pointers that could permeate down and lead
6766 to access violations when TDriver::ReadCritical() and
6767 TDriver::Write() functions are called.
6770 2) Fairly major overhaul of the loader to make it clean up after
6771 itself. Handles created by the kernel for library creation are now
6772 placed into The Loader's process. The handle is only transferred to
6773 the client when the load has successfully completed.
6774 This allows the loader to keep track of all the libraies it has
6775 created, and therefore allows it to clean up after itself on
6781 (Made by Jo, 21st December 1998)
6783 THIS RELEASE OF F32 REQUIRES E32 159 OR LATER
6786 1) Removed BLD.BAT, CLEAN.BAT and PREPARE.BAT from Group\Li.prj.
6789 1) Fixed a bug that was stopping RAM-loading of libraries that statically
6793 1) Fixed an eshell bug to improve the Copy function. Removed edlin
6794 from eshell. Modified the Hexdump command to allow the user to
6797 2) Removed the extraneous file sr_rom.s from \f32\srom\
6802 (Made by Jo, 8th December 1998)
6806 1) Fixed defect EDN 128786
6807 Previously, if a notification request was made on a non existent
6808 path, the notification request was rejected with error KErrNotFound.
6809 Now the request is submitted (if the path is valid eg with no
6810 illegal characters) and the client is notified upon creation of such
6813 2) Fixed defect EDN 879377
6814 TFindFile::FindWildByPath() now checks that the path submitted is
6815 not NULL before attempting to dereference it.
6817 3) Modified the handling of client requests in SFILE\SF_MAIN.
6818 Release 120 removed the multitudinous global functions DoParseFsxxx
6819 and DoFsxxx and replaced them with a set of classes derived from the
6820 interface class MFsRequest (SFILE\SF_FUNC.H).
6822 These changes had some performance implications on the fileserver - the
6823 current modifications have now improved the performance for local
6824 fileserver operations.
6825 The changes required minor modifications to a couple of functions in
6826 class CServerTask, some changes to class CSessionFs, and the
6827 introduction of a new class TFsRequest. BC is not affected except
6833 (Made by Jo, 1st December 1998)
6836 1) Added Uid matching to Dll and Exe loaders. See E32 release note 157.1.1
6837 2) Implemented a more intelligent Dll Loader that continues to search
6838 for matching dlls if the first (or subsequent) attempt fails.
6839 SF_LDR.CPP and SF_IMAGE.CPP
6840 3) Removed the E32Image class from the public header F32IMAGE.H. The
6841 E32ImageHeader and friends remain.
6845 1) Fixed EPOC software problem SW1-29 "Local/System Filetime confusion - WINC"
6846 Changes to SFILE\SF_FILE,SF_NBS; SFAT\SL_DIR,SL_MNT; SWINS\ELOCAL
6848 The file timestamps are now stored as UTC times in line with Win32.
6849 File times are converted transparently between local and UTC times as
6850 necessary (so no adverse effect on eg the Shell) but WINC now gets the
6851 system time it expects and can deal with it accordingly.
6852 Obviously, any existing files stored on CF card will now be reported with
6853 incorrect timestamps if their last modification local time differed from
6854 GMT. This also required a E32 fix (see E32 release note 157.2.1).
6856 2) Modification to SFAT\SL_VFAT to fix a problem with the way UNICODE builds
6857 cope with legal DOS file names.
6859 3) Modification to SFAT\SL_FMT and SFAT\SL_STD to allow F32 to get the correct
6860 number of hidden sectors as reported by E32 (TLocalDriveCaps). This will
6861 fix Epoc Software Problem SW1-44 and Bluebell defect SW1-412 where
6862 WinCE machines rejected EPOC formatted CF cards.
6865 1) Added ESHELL.EXE to GROUP\EWINS.REL and ESHELL.PDB to GROUP\EWINSDB.REL.
6866 2) Changed code loading patch ldds from C:\system\libs\ to check that the
6867 third UID is KPatchLddUid (0x100000cc), and added KPatchLddUidValue to
6869 3) Fixed minor ESHELL bug.
6870 4) Removed references to all bldmake-generated batch files from LI.PRJ
6871 files containing them, and updated MNT.BAT so that directories \BWINC,
6872 \BVC4 and \BVC4WINC are not archived (they contain nothing but
6873 bldmake-generated files anyway). This means that to build F32 from
6874 source bldmake must always be called first to generate the batch files,
6875 and ensures these batch files are more likely to be up-to-date.
6876 5) Changed targettype in ELOCAL.MMP and EFAT.MMP from DLL to FSY. Removed
6877 FSY.DEF from BWINS, BMARM and BSARM directories.
6878 6) Updated SFILE\SF_LDR.CPP in accordance with changes to E32 157's
6879 MapEmulatedFileName() function.
6884 (Made by Jonathan, 27th October 1998)
6886 N.B. WINS DEB/UDEB will only work with E32 156 OR LATER.
6889 1) Reintroduced debug/release interoperability by synchronising DEF files
6890 between WINS REL and DEB builds.
6892 1) Modified SFAT\SL_VFAT to generate an acceptable DOS shortname for
6893 UNICODE long filenames.
6894 2) Made the vendor ID in the bootsector more generic - changed from
6895 "PSIONPLC" to "EPOC".
6898 1) Added the following Unicode Uid values
6899 KFileSystemUidValue 0x100039df
6900 KFileServerUidValue 0x100039e3
6901 KFileServerDllUidValue 0x100039e4
6902 2) Updated .MMP files in accordance with the UNICODE plan.
6903 3) Changed MNT.BAT to get E32TOOLP version 096.
6908 (Made by Morgan, 20th October 1998)
6910 NB: REQUIRES E32 VERION 155 OR LATER
6914 1) Fixed EPOC software problem SW1-199 "Narrow build DLLs not seen on UNICODE machine"
6916 UNICODE F32 was assuming that there could never be any files with legal DOS filenames (true for any file created on a UNICODE machine but not for files created on a narrow build and introduced to a UNICODE machine eg on a CF card).
6917 It was thus unable to cope with any narrow build files that had true DOS names (ie fully capitalized names of less than 8 characters).
6918 Modification to CFatDirCB::ReadL() (SFAT\SL_DIR) and CFatMountCB::DoFindL() (SFAT\SL_MNT) to allow UNICODE to recognise and deal with these files.
6920 2) Fixed EPOC software problem SW1-253 "TFileText::Write() has wrong prototype"
6921 Added const to the prototype - now TInt TFileText::Write(const TDesC& aDes)
6923 3) Added a const to the prototype for the recently introduced RFs::NotifyChange() function overload - now TInt RFs::NotifyChange(TNotifyType aType,TRequestStatus& aStat,const TDesC& aPathName)
6925 4) Fixed a bug in CFatMountCB::ReplaceClashingNameL(). Previously, when a clashing short name was replaced, the checksum in the corresponding long filename entries was not recalculated.
6927 5) Fixed a bug in the global function NumberOfVFatEntries() (in SFAT\SF_UTL)
6929 Previously, if a long filename was a multiple of 13 characters it allocated an extra TFatDirEntry because it was unecessarily adding an end-of-name zero terminator. The zero terminator is not required when all 13 characters in a TFatDirEntry are filled.
6932 1) Changed dllLoader() function in \F32\SFILE\SF_LDR.CPP to allow
6933 the Emulator to run from anywhere. The function no longer
6934 searches the Epoc search path under WINC if libraries aren't found
6935 in the Win32 search path. Under WINS this function now
6936 passes an Epoc path rather that a full Win32 path to E32 to
6937 fix Epoc Software problem SW1-153 "Allow applications to
6938 simulate running from C: or D: on WINS".
6939 2) Removed \F32\SFILE\SF_WINS.CPP. This file provided
6940 functionality to map Epoc filenames to Win32 filenames. The
6941 functionality has been improved and is now provided by
6942 new EUSER function MapEmulatedFileName(). Since this version of F32
6943 calls MapEmulatedFileName() it requires E32 version 152 or above.
6944 3) Various minor WINS/WINC fixes and reorganisation.
6945 4) Incorporated \F32\SWINC\ELOCWINC.CPP into
6946 \F32\SWINS\ELOCWINS.CPP to isolate WINS/WINC differences and
6947 make them easier to maintain. ELOCWINS.CPP now uses
6948 MapEmulatedFileName() to do its Epoc->WINS drive mapping.
6949 5) Corrected WINS base address in line with the Notes document
6950 and added 0x66000000 for EFSRV.DLL.
6951 6) Symbianised copyright information appearing in the text shell.
6956 (Made by Jo, 18th September 1998)
6958 A number of modifications and additions to F32 for this release. First release post-ER4.
6962 (1) Fixed EPOC Software problem SW1-160.
6964 CLocalFileCB::CheckPos() (\SWINS\ELOCAL) was assuming that iCurrentPos was always pointing to the same position in the file as the Win32 file pointer. In fact it was possible for them point to different positions if a leave occurred in a file operation before iCurrentPos was reset. CLocalFileCB::CheckPos() now checks that they are the same and adjusts the Win32 pointer accordingly if not. Also renamed the function (which had always been able to leave) from the incorrect CLocalFileCB::CheckPos() to CLocalFileCB::CheckPosL()
6966 (2) Fixed Bluebell defect SW1-728
6968 RFs::SetDriveName() and RFs::SetVolumeLabel() were allowing the client to set the drive/volume names to contain "illegal" characters such as * ? / > etc. Added validation of the desired name to DoFsSetDriveName() and DoFsSetVolume(). Also made some changes to DoFsSetVolume() to allow changes to be made to the volume name under UNICODE builds.
6970 (3) Fixed EPOC Software problem SW1-132
6972 RFs::DoGetDirL() was ignoring the return value from its call to CDir::Sort()
6973 It now inspects the value and leaves if an error occurred.
6975 (4) Made a change to function DoFsFileRead (\SFILE\SF_FILE) to fix a bug for UNICODE builds attempting to read beyond the length of a file.
6977 (5) Fixed Series 5 problem SW1-764 "F32 over-allocates clusters"
6978 An off-by-one error was causing F32 to allocate an extra cluster if the file size was an exact multiple of cluster size. The fix also required modifications to the FAT checking code to allow for files created before and after this fix.
6980 (5) Fixed Series 5 problem SW1-770 "Can't handle the last root directory entry"
6981 The root required the last entry to be an end-of-directory entry. Removed this requirement.
6983 (6) Fixed Series 5 problem SW1-842 "TInt Write() does not work as documented"
6984 Added an ASSERT_DEBUG check to RFile::Write() to prevent incorrect use of the function which could inadvertantly lead to garbage being written to a file.
6986 (7) Fixed Series 5 problems SW1-230, 351 and 821 all of which were related to F32 allowing paths of greater than 256 characters to be created - which then caused problems in CDirScan functions (among others).
6988 The problem of F32 allowing a Rename() request to succeed, despite generating an over-long path can only be resolved by recursive checking. This has been implemented and tested, but hasn't been included in this release as it obviously has some performance implications. The case of path renaming to over 256 characters is relatively rare and the considerable amount of checking required to prevent it needs further consideration (eg some evaluation of the effect on performance of the recursive checking).
6990 To allow CDirScan::ScanUpTree() and similar functions to cope with paths >256 characters, an extra CFileMan operation (RenameInvalidEntry()) has been added. Should any CFileMan operation encounter a path of >256 characters, the offending directory component is renamed with its VFAT shortname (guaranteed to be unique).
6992 (8) Implemented RFs functions GetLongName() and GetShortName for UNICODE builds.
6994 (9) Implemented EPOC proposal SW1-52 "File Server function to read from a file regardless of the lock state"
6995 RFs now supplies function ReadFileSection() to allow F32 clients to read bytes from any position in the file, regardless of its lock state.
6997 (10) Implemented EPOC proposal SW1-91 "Extend file server change notification"
6998 Notification of fileserver activities is more specific. The original RFs::NotifyChange() function now returns a value (because it has always been able to leave with OOM - BC not affected).
7000 An additional pair of RFs functions NotifyChange()/NotifyChangeCancel() have been implemented. These allow the client to specify a particular directory (and its subtree) or file to monitor. The modifications also allow the client to have more than one outstanding change notification request (hence the additional NotifyChangeCancel() function to allow the client to cancel a specific request). The types of changes to monitor have also been extended.
7002 These changes required some modification to the CSessionFs class (BC not affected except internal to F32).
7004 (11) Implemented EPOC proposal SW1-92
7005 Overloaded the RFs function IsValidName() to return any illegal character within the name the client is querying. This required some additions and modifications of the name and path checking functions in SFILE\SF_UTL. Also required the addition of two extra query functions (IsKMatchOne() and IsKMatchAny()) to class TParseBase (to distinguish which wildcard character, '*' or '?' had been detected).
7007 (12) Added an extra command to the text shell. The new TShellCommand function VNAME allows the user to query the validity of a filename and indicates any illegal characters.
7009 (13) Fixed a problem with RFs::GetDir() in UNICODE builds (changed KEntryArraySize from 0x200 to 0x400 in UNICODE only). Necessary for the function to retrieve directories with UNICODE names >230 characters.
7011 (14) Made a change to the way F32 handles each client request in SFILE\SF_MAIN.
7012 Removed the multitudinous global functions DoParseFsxxx and DoFsxxx and replaced them with a set of classes derived from the interface class MFsRequest (SFILE\SF_FUNC.H). These changes have also required minor modifications to a couple of functions in class CServerTask, the addition of an extra data member (SFILE\SF_STD.H) and some change to the Service() and Process() functions of class CSessionFs. BC is not affected except internal to F32. The changes are relatively superficial, but remove code duplication through the use of class member data.
7014 (15) Added some Set/Get functions to classes CFatMountCB() and CServerTask to reflect data encapsulation therein.
7020 (Made by Jo, 29th July 1998)
7023 Re-release of F32 114 with correct build version number in \INC\F32VER.H
7024 and correct E32,E32Tools and E32ToolP build version numbers (in \GROUP\MNT.bat)
7026 F32 release will now validate.
7031 (Made by Jo, 17th July 1998)
7034 1) Fixed EPOC Software Problem SW1-12. F32 previously assumed that the name of
7035 DLLs to which an executable links, were embedded in the import data as a Unicode
7036 string - in reality the data is ASCII text. This was causing executables to fail
7037 to load from RAM on Unicode builds.
7038 After consultation with the internationalisation team, F32 is to be modified in
7039 stages to resolve this problem. This release marks completion of the first
7040 stage - F32 has now been modified to restrict Dlls to 8 bit names.
7042 Executables may now be loaded from RAM on Unicode builds. There has, in
7043 effect, been no change to 8 bit builds.
7048 (Made by Jo, 14th July 1998)
7051 1) Fixed BluebellDefects bugs SW1-587 and SW1-620 by ensuring that the iSession
7052 data member of CServer task is initialised for each session. (\SFILE\SF_TASK)
7054 2) Added extra function DestroyTaskThread() to class CServerTask to clean up
7055 iSessionThread and iMessageSemaphore when session is closed. Also modified
7056 CServerTask::TaskThreadFunction() code to use iTheDrive->iDriveMutex mutex
7057 to protect data when fileserver operates asynchronously (\SFILE\SFTASK)
7059 3) Numerous small modifications to DoParseFsXXX functions to determine
7060 whether a remote mount is present and thus whether to call fileserver
7061 functions asynchronously. (\SFILE\SF_DEBUG,SF_DIR,SF_DRV,SF_FILE,SF_FMT,
7062 SF_MAIN,SF_NBS,SF_RAW,SF_SVR,SF_SYS). These changes have been stress tested
7063 by a new test which will be permanently added to the F32Test suite
7064 (to be released separately).
7068 1) Changes to ESHELL (\ETSHELL\TS_EDSHL) to fix EPOC Software Problem SW1-103
7069 Other improvements to ESHELL as follows:
7071 a) Decoded kernel faults are shown as "PLAT 9" rather than "9 PLAT"
7073 b) You can run an exe with funny arguments without getting bitten by the .bat file processing, e.g. "apprun a\b\c"
7082 (Made by Morgan, 23rd June 1998)
7085 1) Fixed bugs SW1-363, 376, 413, 414, 427, 453 by ensuring that the TDrive
7086 data member of CSessionFs is fully updated for each new session.
7087 2) Added some extra code to ensure full initialisation of the CSessionFs data
7088 members of CFatMountCB, CFixedCache and CFileShare. Removed the unused
7089 and unnecessary CSessionFs data member in CFormatCB.
7092 1) Fixed a batch file CD bug in ESHELL
7093 2) Fixed some bugs in the remote file system support. Mostly
7094 indescriminate handle orphaning, OOM behaviour errors, and
7095 some other weirdnesses.
7096 3) Simplified some code, removed some unecessary indirections,
7097 and reduced the size of the session classes.
7102 (Made by Pete, 10th June 1998)
7105 1) Changed occurrences of TSimpleArray<T> and TPointerArray<T> to
7106 RArray<T> and RPointerArray<T> following renaming in E32.
7109 1) Changed LDRPATCH.MMP
7112 1) Changed sfile\sf_main.cpp so that patches are loaded automatically
7113 after a warm reset. The code will attempt to load, in name order,
7114 any files in directory "C:\System\Libs\" as logical device drivers
7115 if they have the logical device driver second uid, the extension
7116 ".SYS" and the "System" file attribute.
7117 2) Changed ELOCAL.FSY so that the initial default path for WINC
7118 programs is the current directory rather than C:\.
7119 3) Changed CLocalFileCB::IsRomDrive() to return EFalse under WINC so
7120 that WINC programs can write to drive Z:.
7121 4) Removed macro EXPORT_IF_NOT_WINC_C from various files where it had
7122 failed to fulfil it's duty in stopping certain functions being
7123 exported in WINC builds (WINC EFSRV.DLL effectively combines the
7124 functionality of WINS dlls EFSRV.DLL and EFILE.DLL, but shouldn't
7125 export functions that WINS EFILE.DLL does). Hacked MNT.BAT instead
7126 so that WINS-built EFSRV.LIB is released for WINC builds, so that
7127 WINC and WINS builds of EFSRV.DLL remain binary compatible.
7128 5) Changed MNT.BAT so that MNT GETBLD gets the tools required for building.
7132 1) Fixed EPOC32 software problem SW1-56 to prevent a file being turned into
7134 In SFile\SF_FILE DoFsFileSet(): Added ValidateAtts() to bring it into
7135 line with DoFsFileSetAtt()
7137 2) Fixed EPOC32 software problem SW1-30
7138 SFSRV\CL_FIND TFindFile::DoFindInDir() no longer returns KErrNone when
7139 an inaccessible network drive returns KErrAccessDenied.
7141 3) Fixed EPOC32 software problem SW1-91
7142 SFAT\SL_FMT CFatFormatCB::DoFormatStepL() now writes a media descriptor
7143 byte to the start of the second FAT as well as the first FAT.
7145 4) Fixed Series 5 software problem SW1-278
7146 in SFSRV\CL_FMAN so hidden files may now be deleted by CFMan::Delete()
7151 (Made by Morgan, 14th May 1998)
7154 1) Changes to allow for multiple ROM root directories for use with
7155 multiple-variant ROMs.
7156 2) Changed occurrences of CArray* to TSimpleArray.
7159 1) Fixed Bluebell defect SW1-56
7160 2) Minor fixes to ESHELL to correct error reporting
7161 3) Fixed Series 5 defect SW1-878
7164 1) Made the file server asynchronous
7168 Big version number increment to skip over Liffey Lavender release.
7173 (Made by Jonathan, 8th May 1998)
7176 1) Changed MNT.BAT so that MNT GETRELE32 no longer gets the
7177 debugging information releasables for RELEASE builds.
7178 2) Changed MNT.BAT to retrieve E32TOOLS 091 and E32TOOLP 091.
7181 1) Changed text shell to use the KConsFullScreen constant, so it can
7182 be run on small-screen machines. This requires E32 124 or above.
7185 1) Change to DoListOpenFiles() in SFILE\SF_FILE, to align each TEntry
7186 in the list along a 4 byte boundary.
7187 The bug came to light when running F32tests in WINC.
7189 2) Minor cosmetic changes to the text shell code following a code review.
7194 (Made by Graham, 16th February 1998)
7197 1) Removed debug/release interoperability from
7198 WINS/WINC. Reverted to 092-style .DEF files.
7203 (Made by Dennis, 12th February 1998)
7206 1) Debug/Release interoperability take 2: Synchronised DEF files for
7207 WINS/SARM/SARMBE builds.
7211 (Made by Jonathan, 10th February 1998)
7214 1) Changed mnt getrel so that it doesn't attempt to get the non-existent
7215 .PDB files for release builds.
7218 1) Added dummy exported debugging functions to release build to facilitate
7219 debug/release interoperability.
7223 (Made by Jonathan, 27th January 1998)
7226 1) Don't format drive C: in StartupThread unless it's a RamDrive.
7230 (Made by Alastair, 26th January 1998)
7233 1) Range checking implimented on import ordinals. The import stub of
7234 a function ordinal that is not exported by the relevent Dll is
7235 fixed up to point to a paniking function.
7237 2) Loader no longer does a FindByPath while searching for Dlls when no
7240 3) TFindFile returns KErrNoMemory on OOM.
7243 1) Moved build system over to MAKMAKE. The batch files for building F32 are
7244 created by e32tools's BLDMAKE. From the GROUP directory, type BLD or CLEAN
7245 or PREPARE without any arguments for help on how to use the new batch
7246 commands. MAKMAKE has not yet been applied to the build system for MISA or
7247 MX86. CLEAN.BAT uses NMAKE to do its cleaning, so a PREPARE.BAT
7248 needs to have been done first. PREPARE.BAT will make the makefiles and
7249 build the working directories.
7251 2) Renamed freeze files from .FRZ to .DEF, including CONSMARM.FRZ, CONSMISA.FRZ
7254 3) Removed WINS_UID statements from all source files.
7260 ESHELL no longer forces the command line into uppercase. The shell
7261 no longer calls the console T_TSHELL (it now calls it ESHELL for
7264 2) Various cosmetic fixes.
7265 For example, when in a subdirectory, the prompt is now the correct
7266 drive:path> rather than drive:path\>.
7268 3) Improved batch file processing.
7269 This includes searching for autoexec.bat at startup in the order
7270 y,x,...,b,a then z rather than just looking at the default drive.
7271 Other improvements include fixing the bug that caused problems when
7272 blank lines were present in the batch file, and making changes to allow
7273 a drive change in the batch file.
7275 4) Various changes to the TShellCommand functions in class ShellFunction.
7276 For example, the addition of an ATTRIB function, the alteration of
7277 COPY, GOBBLE, RENAME and MOVE to allow spaces in the file/directory
7278 names and a fix to RD.
7280 5) A recursive dependency checker for Dlls/Exes.
7281 This rushes through statically linked libraries checking that each
7282 is available and that the Uids are correct. The checker is called
7283 automatically if CShell::RunExecutable fails, to give more information
7284 than the "Not Found" and "Not Supported" messages that were obtained
7285 previously. The checker has also been added to class ShellFunction
7286 and thus may be used directly as a TShellCommand function:
7287 CHKDEPS [Executable or Dll Name].
7289 6) Better decoding of kernel faults and panics.
7290 The Ctrl-Fn-R dialogue now only shows the last exception information
7291 as a raw hex number if the reset reason was a Kernel exception.
7292 For kernel faults and kernel panics it now prints the category which is
7293 obtained by decoding the exception information.
7300 1) Set the session path for gTheLoaderFs to C:\ when the loader connects
7308 1) Added code so that loading of the window server, or opening files, is
7309 done only from rom when Hal::StartupReason() returns EStartupSafeReset.
7310 This is particularly for the SB variant, where C: persists across even
7311 cold resets. The user must reset the machine to get out of this
7319 1) Integrated Single-process code into f32 source.
7320 Build commands are mnt sarm, sarmall, sarmrel etc. There are no
7321 releaseables and no facilities for building test programs. SARM builds
7322 use the "__SINGLE__" macro for distinguishing Single-process-specific
7323 code. Work directories are \epoc32\build\f32\sarm\[build] and
7324 \epoc32\release\sarm\[build]. SARM makefiles are generated into
7325 \f32\bsarm using perl to process makefiles from \f32\bmarm as a
7326 temporary measure prior to the use of makmake for creating f32
7328 Changes to \bsarm\*, \group\mnt.cmd, \sfat\sl_mnt, \sfile\sf_ldr.
7331 1) Modified loader to read data section linear address from iDataBssLinearBase
7332 for ROM-loaded EXEs and to read KImageFixedAddressExe flag for RAM-loaded EXEs.
7333 2) Added calls to UserSvr::UnlockRamDrive() and UserSvr::LockRamDrive() to
7334 implement RAM-drive protection.
7335 3) Loader now keeps file server session (gTheLoaderFs) open all the time, instead
7336 of connecting at the start of every load operation and disconnecting at the end.
7339 sfat\ sl_disk.cpp, sl_fat.cpp
7340 sfile\ sf_main.cpp, sf_ldr.cpp, sf_image.cpp, sf_ses.cpp
7343 1) Added some stuff in the loader to deal with Dll data.
7348 (Made by Morgan, 22nd September 1997)
7351 1) UniCode Fix: f32file.h, KEntryArraySize=0x200 to 0x200*sizeof(TText)
7352 2) UniCode Fix: \f32\sfat\sl_mnt.cpp so that this strips "." from the
7353 end of a given file/dir names. eg.(SUBDIR.).
7354 3) Modified following test codes for UniCode builds:
7363 1) See \F32\PATCH\RELEASE.TXT
7368 (Made by Jonathan, 5th September 1997)
7372 Modified E32Image::LoadDlls() to call UserSvr::ExeAddDependency()
7373 instead of UserSvr::DllAddDependency() when an EXE is found to depend
7374 on a DLL which is already in the loaded DLL array.
7377 1) Updated LDRPATCH.LDD. See \F32\PATCH\RELEASE.TXT for details.
7382 (Made by Jonathan, 26th August 1997)
7385 1) Fixed problem where FAT file system was setting the lru
7386 cache maximum segment count to -1 on machines where free ram was less
7387 than 1Mb. This meant that all segments where deleted from the
7388 segment queue resulting in a panic on the first read of the ATA drive.
7391 1) Improved wildcard substitution for Copy-and-Rename operations.
7392 2) Fixed SW1-385. CFileMan now recurses into hidden and system
7393 directories when KEntryAttHidden and KEntryAttSystem specified.
7394 3) Fixed SW1-121. WINC F32 now keeps up with drives substed after
7395 F32 started. A side effect of the fix is accesses to drives that
7396 are unused now returns KErrPathNotFound, rather than KErrNotReady.
7397 This fix applies to WINC only.
7403 (Made by Morgan, 1st August 1997)
7406 1) Fix for loading a dll which is itself in a circular chain
7410 1) Updated minor version number to 02.
7415 (Made by Morgan, 1st August 1997)
7417 1) Fixed SW1-160 - Duplicate filenames when cut and pasting V1.0 files
7418 2) Fixed SW1-340 - Don't put in DLL-to-DLL links when one of the files is an EXE
7423 (Made by Morgan, 27th July 1997)
7425 1) Added T_DLOCL test program
7426 2) Fix from Jal to remove memory leak on media change
7427 3) '\000' added to list of illegal characters in filenames to fix SW1-53
7428 4) Added LDRPATCH.LDD. See \F32\PATCH\RELEASE.TXT
7429 5) Modified E32Image::LoadDlls() to remember the address of each library
7430 loaded and to pass information back to the kernel so that it can build up
7431 a tree structure showing which DLLs are dependent on which.
7432 Fixes CSW3-1559, CSW3-1560, CSW3-1530, SW1-91, SW1-155, SW1-158
7437 (Made by Morgan, 16th July 1997)
7439 1) Increased the maximum size of the loader heap to fix SW1-82
7444 (Made by Jal, --rd July 1997)
7451 (Made by Jal, 23rd June 1997)
7453 1) Removed check for the existance of the fileserver (fix 7 below) from WINS builds
7458 (Made by Jal, 23rd June 1997)
7460 1) SW3-688 Max number of root dir entries on the internal disk has been doubled.
7462 2) SW3-1370 Caught KErrArgument in CActiveSchedulerFs::Error()
7464 3) SW3-1475 All uppercase alphanumeric chars are allowed as 8.3 filenames
7466 4) SW3-1003 Lowercase chars are not allowed in 8.3 filenames
7468 5) SW3-1056 Accessing unavailable partitions on a cf-card returns KErrNotReady instead of KErrCorrupt
7470 6) SW3-1172 The size of the disk is doctored in such a way that a newly formatted disk appears to have zero bytes used.
7472 7) SW3-1360 Check that the fileserver does not exist before creating it.
7474 8) SW3-1194 Disk error notifiers should not appear spontaneously.
7476 9) SW3-850 Renaming a directory into a subdirectory of itself returns KErrInUse instead of KErrAccessDenied
7478 10) SW3-854 Attempts to open files on read only media in EFileWrite mode fail with KErrAccessDenied
7480 11) SW-3870 RFs::NotifyChangeCancel will not get failed in debug mode
7484 (Made by Jal, 3rd June 1997)
7486 1) SW3-948 Added checksum to VFAT
7490 (Made by Jal, 28th May 1997)
7492 1) SW3-142 Added change to minimise wear on cf-cards
7496 (Made by Jal, 27th May 1997)
7498 1) SW-4369 Added EDirDescending flag to sort.
7500 This determines whether directories are sorted in the order A-Z or Z-A.
7501 Files are sorted according to the EDescending flag.
7503 2) SW-5243 The loader thread no longer has system attributes
7505 3) SW3-768 Another fix to asynchronous notification.
7507 4) SW-4260 UNC filename support - changes from SimonB
7509 This is an unapproved change but has absolutely no effect whatsoever on any
7510 build except WINC and I'm told it is essential for the nautilus project.
7514 (Made by Jal, 21st May 1997)
7516 1) Commented out some useless ldr debug printfs. (debug mode only)
7520 Fixes to asynchronous notification.
7524 (Made by Jal, 21st May 1997)
7526 1) All attempts to access a mount while it is being formatted return KErrInUse
7528 2) When Password::IsEnabled() returns ETrue EWSRV.EXE is only searched for on drive Z:
7530 3) Morgan, Fixed SW3-329
7531 The loader now sets the iFilename and iRootName as it is capitalised on the drive.
7533 4) The notifier triggered by an error while writing is now partially asynchronous.
7535 All calls to the fileserver will be failed with KErrInUse except ::Close() methods
7536 and RFs::NotifyChange and RFs::NotifyChangeCancel.
7538 5) The volumename is now treated as a zero terminated string.
7542 (Made by Jal, 15th May 1997)
7544 1) Fixed .TXT defect
7546 2) TParse::AddDir(aName) returns KErrBadName if aName contains a path delimiter
7548 3) Directories are always sorted by name.
7550 4) TFindFile searches for files in drive order Y-A,Z
7552 5) The windowserver is also searched for in the above drive order.
7554 6) The drive attributes returned by RFs::DriveList now take into account substituted drives.
7557 Passed the path of the main loadee in all calls to FindDll().
7561 (Made by Jal, 8th May 1997)
7564 Fixed Dll and Exe RAM loading problems SW-4476 and SW-4800 when
7566 DPlatLibrary::Loaded() is called on all statically linked libraries
7567 during a load. Previously some were missed out if Dlls further down
7568 the link chain pulled in new unseen libraries.
7569 CSessionLoader::LoadProcess now writes back the TLoaderInfo to the
7570 client even if the load fails. This provides more information to
7571 allow client side code to cleanup if necessary.
7574 1) Sort by type sorts by both the 2nd and 3rd uids - then by name
7576 2) Fixed source of corruption in directory creation
7578 3) Added mount check before flushing information when closing a file
7580 4) Fixed problem with SetNotifyUser spotted by Doug
7584 (Made by Jal, 30th April 1997)
7586 1) Fixed 4121 - "Asynchronous Writes of zero bytes completes twice"
7588 2) Fixed 2696 - All localised text has been moved to ELOCL.DLL
7590 3) Optimised CFileMan::Move to rename if the files reside on the same drive.
7592 4) Fixed 4362 4367 and 4555 - MaxLength folder names can be created
7593 and corruption will not occur.
7595 There are still problems in this area.
7597 5) Fixed 4256 - Volume label will default to ""
7599 6) Fixed 4486 - All files are sorted by uid2
7601 7) Fixed 4352 - Uids are sorted lowest -> highest.
7603 Uid2==0 is treated as special case and listed last.
7608 (Made by Jal, 19th April 1997)
7610 1) Fixed 3812 - The startcluster of a file is written to disk as soon as it is allocated.
7612 2) Fixed 3462 - PsiWin 1.1 + long filenames in Z: no longer cause fileserver termination.
7614 3) Fixed 3755 - The EFSRV.LIB that WINC releases is copied from the WINS build.
7616 4) Fixed 3756 - ELOCAL.FSY in WINC links by ordinal
7618 5) Fixed 3757 - All frz files are up to date.
7620 6) Removed KUidExe from eshell
7625 eshell.exe UID1 = 0x1000007a
7626 efile.exe UID1 = 0x1000007a UID2 = 0x1000008c UID3 = 0x100000bb
7627 elocal.fsy UID1 = 0x10000079 UID2 = 0x1000008f UID3 = 0x100000d6
7628 (efat.fsy UID1 = 0x10000079 UID2 = 0x1000008f UID3 = 0x100000d6) // wins only
7629 efsrv.dll UID1 = 0x10000079 UID2 = 0x1000008d UID3 = 0x100000bd
7631 KExecutableImageUid = 0x1000007a
7632 KDynamicLibraryUid = 0x10000079
7634 KServerProcessUid = 0x1000008c
7635 KFileSystemUid = 0x1000008f
7636 KSharedLibraryUid = 0x1000008d
7638 KFileServerUid = 0x100000bb
7639 KLocalFileSystemUid = 0x100000d6
7640 KFileServerDllUid = 0x100000bd
7642 7) Fixed 3053 - Incorrect filesystem loading.
7644 As suggested by Geert, the code has been changed to invoke
7645 the loader directly.
7647 8) Fixed 3758 - Check uid1 before loading filesystem.
7649 9) Fixed 3786 - The 'Not enough power' notifier will only appear once.
7653 (Made by Jal, 19th April 1997)
7655 1) Fixes to the WINC loader.
7657 2) Updated Notifier to new values returned by Eikon. Fixes SW-3667
7659 3) Added KUidExe to eshell.
7661 4) Generally improved security of RFormat. Fixes SW-3574
7663 If a file, or directory is open RFormat::Open returns KErrInUse.
7664 While a disk is being formatted any attempt to open a file or directory will
7669 (Made by Jal, 16th April 1997)
7671 1) Fixed SW-2760 (Reading from a text file gives KErrEof too early)
7673 2) Fixed format defect
7675 After a media changed, format gave a spurious error.
7677 3) Removed assert from RFs::NotifyChangedCancel fixing SW-3316
7679 4) Relaxed attribute setting restrictions
7681 Attempting to set the directory attribute on a file (or viceversa) will have no effect rather
7682 than causing an error. This allows code such as file.SetAtt(att,~att); to be written.
7683 Setting and clearing the same attribute is still panicked.
7685 5) Fixed SW-3183, Copy doesn't preserve read-only status of file
7687 6) Fixed SW-3143, CFileMan::Copy() to wild card destination drops the character after the dot
7689 7) Removed notification on writing to the start of a file.
7691 This generated too many spurious notifications when files were being copied.
7693 8) Removed notification on creation of temporary files to reduce the amount of scanning done by the shell.
7695 9) Fixed SW-3032, Unknown files should be listed last
7697 10) All arm releasables are petraned and use the new UID scheme.
7699 11) Added notifications when write fails due to bad power and for any other failures.
7703 (Made by Graham, 9th April 1997)
7706 1) TLoaderInfo changes for UID support
7711 (Made by Jal, 9th April 1997)
7713 1) GetDir behaviour changed - hidden or system files will not be listed unless you ask for them.
7715 KEntryAttNormal|KEntryAttDir - List files & directories that are not hidden or system
7716 KEntryAttNormal - List files only that are not hidden or system
7717 KEntryAttDir|KEntryAttMatchExclusive - List dirs only that are not hidden or system
7718 KEntryAttHidden|KEntryAttSystem|KEntryAttNormal|KEntryAttDir- List all files & directories
7719 KEntryAttHidden|KEntryAttSystem|KEntryAttNormal- List all files only
7720 KEntryAttHidden|KEntryAttSystem|KEntryAttDir|KEntryAttMatchExclusive- List all dirs only
7722 2) Frozen file server defs
7724 3) Fixed defect spotted by JeremyW that allowed open files to be deleted.
7726 4) TFindFile now also returns the file's uid.
7728 5) Added notification on writing to the start of a file to catch changes to the uid.
7730 6) MkDirAll checks that a disk is mounted before returning any other errors.
7734 (Made by Jal, 2nd April 1997)
7736 1) Loaded compact rom media driver
7738 2) Made iArray protected in CDir
7740 3) Added a synchronous alert when a write is interrupted.
7742 This is only a provisional solution but seems reasonably stable.
7743 It will hang on pressing "CTRL-SHIFT-ALT S" which causes the window server to
7744 attempt to dump the screen to a file but is otherwise ok.
7746 It is important that the threads which are needed to display the alert dialog
7747 do not trigger it. RFs::SetNotifyUser(EFalse) can be used to prevent the dialog
7748 from being displayed.
7752 (Made by Jal, 31th March 1997)
7756 1) Tweak to drive naming
7758 2) Added notification on media change
7760 3) Brought .FRZ files upto date
7764 1) Removed dependency on MSVCRT from EFILE and ELOCAL
7769 (Made by Jal, 23th March 1997)
7773 2) Added drive naming functionality.
7775 TInt RFs::GetDriveName(TInt aDrive,TDes& aName) const;
7776 TInt RFs::SetDriveName(TInt aDrive,const TDesC& aName);
7778 3) Fixed media change bug
7782 (Made by Jal, 19th March 1997)
7784 1) Completed protection against corrupt data
7786 2) Fixed bug whereby folders with trailing spaces could be created.
7790 TFileText::Read reading a record into a buffer length of the same
7791 length returned KErrTooBig
7795 Changed the behaviour of TFileText::Read as suggested by
7798 5) Removed checks that power is ok. SW-1618
7800 6) Added TBool RFs::IsValidName(const TDesC& aName)
7802 Checks whether aName contains any illegal chars.
7804 7) Added TUint8* RFs::IsFileInRom(const TDesC& aName)
7806 Convenience function to save "Open file, seek, close" being
7807 performed every time the address of the start of a file is needed.
7809 8) RFs::SetEntry and RFs::SetModified can now alter directory times on WINS (they always worked on the rack)
7811 Problem spotted by DominicP and fixed by SimonB
7815 (Made by Jal, 14th March 1997)
7817 1) The return value of MkDir has been changed creating a folder with the name of an existing file.
7819 MkDir attempting to overwrite a file returns KErrAccessDenied
7820 MkDir attempting to overwrite a directory returns KErrAlreadyExists
7822 Attempting to create a file with the name of an existing folder returns KErrAccessDenied.
7823 Attempting to create a file with the name of an existing file returns KErrAlreadyExists.
7824 (This is behaviour has not changed)
7828 2) Added KEntryAttMatchExclude to allow more versatile directory listings.
7830 KEntryAttMatchExclude|KEntryAttReadOnly excludes all read only entries from the directory listing.
7831 KEntryAttMatchExclusive|KEntryAttReadOnly just list read only entries
7832 KEntryAttNormal list all entries except directories, hidden and system entries.
7834 3) Attempting to remove a directory set as read only will return KErrAccessDenied
7838 4) CFileMan::Copy and Move return KErrAlreadyExist if source == target
7840 5) Fixed WINS filedate defect SW-1350
7842 6) Added conversion of WINS error ERROR_INVALID_DRIVE to KErrNotReady (for SimonB)
7844 7) Added some protection against corrupt data making the filesystem panic or go into loops, more to follow.
7848 (Made by Jal, 7th March 1997)
7850 1) Fixed RFs::Replace
7856 (Made by Jal, 5th March 1997)
7858 1) CFileMan::Rename allows the case of filenames to be changed
7859 Fixes SW-820 (again)
7861 2) Added thread name generation to allow asynchronous CFileMen to be run simultaneously.
7863 3) CFileMan::RmDir sends notification messages to the observer for each entry removed.
7865 4) Fixed caching problem with cf-cards SW-207
7867 5) Added iExtraInfo to CFileMan::Rename from SiamakM
7869 6) Changes to TShell from William Roberts
7871 XREPRO - to run repro with [Y/N] confirmation
7873 Reports the build in the startup message
7875 7) Fixed memory leak when CFileMan::Copying multiple identical files. (Diagnosed by Siamak)
7877 8) Fixed 'double delete' bug in Loader that causes an exception under low mem conditions (Fix by Morgan)
7881 (Made by Jal, 3rd March 1997)
7883 1) Stopped RFile::Rename allowing the new name to contain wildcard chars
7885 2) RFs::Rename, RFs::Replace and RFile::Rename allow the case of filenames to be changed
7888 3) RFs::NotifyChange(ENotifyEntry, ...) only notifies when an entry has been added or deleted.
7889 RFs::NotifyChange(ENotifyAll, ...) triggers a notification when any changes are made.
7890 Fixes SW-803 and SW-540
7892 4) Added a NotifyChange at the successful close of a format.
7895 5) Fixed WINS filedate format
7897 When viewed from command prompt the filedates were 1 year too old
7899 6) RFs::Replace preserves the filedate
7904 (Made by Jal, 26th Feb 1997)
7906 1) Bug fix to dismount/remount of cf-cards reported by Pete.
7910 (Made by Jal, 24th Feb 1997)
7914 Added sanity checking to the loader
7917 More testcode + fixes to RRawDisk
7919 RRawDisk is opened on a mount rather than a drive
7924 (Made by Jal, 19th Feb 1997)
7926 1) Fixed CFileMan::Rename defects SW-169 SW-171 and SW-177
7930 (Made by Jal, 13th Feb 1997)
7932 1) Made ESortByUid sort each uid group alphabetically
7936 (Made by Jal, 12th Feb 1997)
7938 1) Added an ESortByUid code to TEntryKey
7940 This will allow directory entries to be grouped according to UID.
7941 - Unfortunately the ordering of files within the uid group is arbitrary.
7945 (Made by Jal, 10th Feb 1997)
7947 1) Error return codes for file reads and writes:
7952 // Returns KErrNone - success
7953 // Returns KErrNotReady - non-critical error
7954 // Returns KErrCorrupt - an illegal read is detected
7955 // Returns KErrBadPower - power too low to attempt read
7960 // Returns KErrNone - success
7961 // Returns KErrNotReady - non-critical error
7962 // Returns KErrCorrupt - an illegal write is detected
7963 // Returns KErrBadPower - power too low to attempt write
7964 // Returns KErrAbort - critical write failure
7969 A critical error can only occur if power completely fails without warning AND a write
7970 to the cf-card is in progress AND the card is removed before power is reapplied.
7972 A critical error means there is the possibility of corruption that cannot be repaired
7973 by retrying the write operation.
7975 A non-critical error means that the application can ask the user to rectify the fault,
7976 eg: apply power or replace the disk and then retry the operation.
7979 2) Implemented renaming of open files
7981 3) Some directory handling optimisations
7983 4) Bug fix to WINC DriveInfo from SimonB
7987 (Made by Jal, 2nd Feb 1997)
7991 1) Fixed Unicode ARM builds which had rotted with the type-safe linking.
7993 IMPORTANT - could I encourage everyone to release Unicode release and debug variants
7994 so that even if it doesn't work, we can measure the size of the Unicode ROM.
7998 1) Added an active object to restart the loader should it ever die fixing SW-47
8000 2) The following chars are now illegal within filenames:
8004 This preserves compatibility with WINS and fixes SW-246
8006 3) RFile::Flush only flushes the files size.
8008 This is a requirement in order to safeguard Store integrity.
8009 All entry attribute changes are written directly to disk.
8011 4) CFileMan return value changed:
8013 Aborting a CFileMan operation now returns KErrCancel instead of KErrAbort.
8014 KErrAbort must be reserved for informing applications that a user has decided to abort a write.
8018 (Made by Jal, 24th January 1997)
8022 1) Added an RFs::GetDir variant that matches by TUidType
8024 IMPORT_C TInt GetDir(const TDesC& aName,const TUidType& anEntryUid,TUint anEntrySortKey,CDir*& aFileList) const;
8025 Null uid's may be used as 'wildcards'
8027 2) Added an RDir::Open variant that matches by TUidType
8029 IMPORT_C TInt Open(RFs& aFs,const TDesC& aMatchName,const TUidType& aUidType);
8030 This was introduced to support the above GetDir function but may be useful to others.
8031 Files read from the directory are selected based on aMatchName and the uids.
8033 3) New TFileManError errorcode
8035 If no files are processed by an operation it returns KErrNotFound and the TFileManError
8036 is set to ENoFilesProcessed.
8038 eg: If a copy matches no files it will return KErrNotFound.
8040 4) Started alloc failure checking - debug build only (see test code)
8042 5) Changed definition of TVolumeInfo.iSize on the ramdrive
8044 After discussion with SimonB the ramdrive iSize = the potential size of the ramdrive.
8045 ie current actual size + free memory
8047 6) TParse no longer automatically strips leading spaces
8049 The VFAT standard allows filenames to have leading spaces.
8050 Trailing spaces are still stripped.
8052 eg: _L(" file . ext") is a good filename.
8056 Various fixes to bugs found by testing in low memory situations.
8061 (Made by Jal, 10th January 1997)
8064 1) Increased the stack size for the LoaderThread because it
8065 was exploding on the X86 version.
8066 2) Added Memory Alloc Failure tools and a cleanup stack to the
8068 3) Fixed the loader so it behaves under low memory
8069 conditions and added alloc failing test code (T_LDR) for the
8071 4) Fixed a bug that was allocating too much ram for an Image's
8073 5) Put in a fix so that device drivers can be loaded from RAM.
8074 Problems arise because device drivers link directly to
8075 EKERN.EXE and the loader verifies all exporting libraries
8076 are DLLs, (which EKERN.EXE is not).
8079 1) Made relocatable static data changes appropriate for
8080 our real-time needs.
8086 CFileMan::Move cleans up after failure.
8090 CFileMan::Copy detects cyclic copies
8094 CFileMan::SetAsynchronous has been removed.
8095 All asynchronous functions require a TRequestStatus which is used to logon to the thread.
8097 4) Minor changes to api
8099 RFormat::Open argument changed from TFormatMode to TUint
8100 RFormat::Next argument changed from TPckBuf<TInt>& to TInt&
8101 CFileMan NewCopy,NewMove etc have replaced the old functions
8102 Made recursive CFileMan::Rename illegal due to problems renaming across directories
8103 Removed CFileMan::SetRecursiveSearch and added a switch ERecurse.
8104 Renamed CFileMan::BytesTransferred to BytesTransferredByCopyStep
8105 Removed CFileMan::Logon and CFileMan::LogonCancel
8106 TFindFile::FindByPath now requires a TDesC* to save 512 bytes of stack space
8108 5) Removed aRelPath argument from CDirScan::SetScanData
8110 6) Added TScanDirection to CDirScan
8112 EScanDownTree starts at the top of a directory tree scanning each layer in turn.
8113 EScanUpTree starts from a leaf directory and works upwards.
8117 CDirStack::PushL cleans up its argument on failure.
8119 8) Fixed HA-241 - Added TParsePtr and TParsePtrC classes
8121 To save stack space TParsePtr allows the TParse functionality to
8122 be used without copying a buffer to an intermediate TParse.
8123 TParsePtr takes a TDes& which is manipulated by the usual TParse functions.
8124 TParsePtrC takes a TDesC& and the AddDir() or PopDir() functions cause a panic.
8126 9) Fixed HA-298 & HA-412
8128 CFileMan::RmDir uses the callbacks before deleting files/directories.
8132 CFileMan::Copy overwrite option bug fixed
8134 11) TFileText::Read returns KErrEof
8136 This is necessary to distinguish the case of reading an empty line from
8137 hitting the end of the file.
8139 12) Changes to file size are flushed to disk before a seek backwards is made.
8141 This is a requirement for Store.
8145 CFileMan error reporting capabilities have been enhanced.
8146 TFileManError gives details about the cause of the error and
8147 GetCurrentTarget gives the name of the target of the operation.
8149 14) Enabled the ramdisk to access memory directly.
8151 15) Moved occurances of TEntryArray onto the heap to help prevent out of stack space problems
8153 16) Changed the error returned by RFile::Create from KErrInUse to KErrAlreadyExists
8154 when the conflicting file is open.
8156 17) Additional shell commands
8158 TRACE [0xFFFFFFFF] [/f] [/l] [/s]
8160 /f - turn on Fat filesystem debugging information
8161 /l - turn on Loader debugging information
8162 /s - turn on fileServer debugging information
8163 0xFFFFFFFF - set E32 debug info mask
8165 TRACE 0 - turns off all debugging information.
8169 Set default path to "string". No argument returns the current default path
8171 18) RFs functions that can act on directories as well as files have been made more user friendly.
8173 Rename, Entry, SetEntry, GetShortName and GetLongName will automatically handle
8174 directory arguments such as _L("C:\\System\\") which previously needed to be passed
8175 without the trailing backslash.
8177 19) RFs::SetEntry and RFile::SetAtt panic if attributes KEntryAttDir or KEntryAttVolume are set or cleared
8178 A check is also carried out for attempting to clear and set the same attributes in the same call.
8180 20) CFileMan callbacks have been removed in favour of a Mixin class as recommended by MartinT.
8184 (Made by Jal, December 21st 1996)
8186 1) Fixed cf-card bug.
8188 Cf-card data was being corrupted as the card filled > 170k. However, due to
8189 internal caching of good data the corruption does not appear until after the
8190 card is remounted - which allowed test code to pass.
8194 (Made by Matthew, December 13th 1996)
8196 This release is binary compatible with 044
8199 1) Fixed HA-298 (CFileMan::RmDir() callbacks not called).
8205 (Made by Graham, December 9th 1996)
8207 This release is binary compatible with 042
8210 1) Made changes to the PS function in ESHELL.EXE which had
8211 become bugged due to the changes to MatchF() in E32 075.
8214 1) Bug fix in the loader: The last linked in DLL was being ignored
8215 by the library load finalisation code.
8218 1) Moved the WINC file server over to the new WINS compatable E32
8219 2) Changed loader code so WINC can load Dll's from anywhere
8220 3) Added new ELOCAL for WINC in the SWINC directory. This
8221 doesn't map drives or mess around with ROM inttracacies.
8222 4) Removed from sf_wins DriveMapping
8227 (Made by Graham, November 28th 1996)
8230 1) Changd lots of functions retuning TInts to identical functions returning
8233 2) Changed Wins UID scheme. See E32 release notes.
8236 1) Fixed bug in the code in the fat filing system to expand the lower portion of
8237 the seek index when the file shrunk.
8242 (Made by Jal, November 20th 1996)
8244 ** Almost binary compatible with 039
8245 ** Format has changed. If you do any disk formatting your code will need attention
8246 ** Otherwise the release is entirely binary compatible.
8250 There is now a global cache shared between all Mounts as a
8251 least recently used list of sector sized segments.
8255 MkDir on the root now returns KErrAlreadyExists instead of
8258 3) Fixed HA-268 access violation from CFileMan::Delete
8260 4) Format overhauled
8262 Format functionality now complies with the SDK.
8263 Open returns a 'count' which is decremented to zero by repeated calls to Next.
8264 EFullFormat fills the entire disk with 0xFF before formatting.
8265 EQuickFormat makes only the minimum changes needed for the disk to appear formatted.
8266 EHighDensity and ELowDensity are ignored.
8268 5) WINS Z: emulation bug fix
8270 Opening a file on Z: with mode EFileWrite now returns KErrAccessDenied in both
8271 wins and arm builds. (Reported by DuncanS)
8273 6) Added a cluster index to RFile to improve seek times
8275 7) Cached the location of the last directory visited
8277 8) TFileText recognises \r\n as a line terminator
8279 9) Added overwrite option to:
8285 10) KErrInUse is returned when access to a file is not granted because someone else is using it.
8286 KErrAccessDenied is returned if write privileges are requested on a readonly file.
8287 KErrInUse is returned preferentially to KErrAccessDenied.
8291 (Made by Graham, November 8th 1996)
8294 1) Introduced process status mode, entered by typing "ps".
8295 help information while in the mode is displayed by typing
8296 "?" or "h", and the mode can be exited by pressing "q".
8297 This command is used to display the current state of
8298 O/S resources such as threads, processes, chunks etc.
8303 (Made by Jal, November 6th 1996)
8305 ** Binary compatible with 038 **
8307 1) Fixed defect preventing ARM Debug booting on 8MB machines.
8309 2) Fixed defect in RFile::SetSize reported by Geert.
8313 (Made by Jal, October 26th 1996)
8315 1) Minor changes to API
8317 KWildAny and KWildChar replaced by KMatchAny and KMatchOne
8319 TOpenFileScan::Owner removed
8321 NewSetErrorCondition -> SetErrorCondition, after deleting the old function
8323 TFindFile::File returns a TDesC& instead of a TParse
8327 2) Changed internal variables in TParse from TInt8 to TUint8
8329 3) Changed the text shell TRACE command to take a hex number rather
8330 than ON and OFF. You can now turn on debug using eg: TRACE FE7F.
8331 See K32STD.H for list of KTRACE_OPT values which can be set for
8332 different levels of debug information available from E32
8336 (Made by Jal, October 18th 1996)
8338 ** This release is binary compatible with 036 **
8340 1) BugFix: CF cards are now mounted as they are inserted.
8342 2) Fixed Protea B2 HA-192: Open files can no longer be deleted
8344 3) BugFix: Stopped zero length reads on a CF cards reporting an error.
8346 4) Fixed Software defects HA-247: WINS build converts ERROR_DISK_FULL to KErrDiskFull
8348 5) Fixed Protea B2 HA-201:
8350 Only C, D, E, F, and G appear as local drives on TDriveList.
8351 NB: E, F and G are available as partitions on a CF-Card.
8353 6) Added wildcard file location to TFindFile
8355 7) Fixed bug in EShell. Del with no arguments deletes no files.
8357 8) Added a count to the SetErrorCondition function.
8359 To preserve binary compatibility I had to make it a new function NewSetErrorCondition
8360 which will be renamed when the old function is deleted after an unfreeze.
8362 9) Added another callback to CFileMan.
8364 CallBackDuring() is called while copying files. A return value of ECancel will stop the
8365 copy, EContinue to carry on.
8367 10) Added BytesTransferred() function to CFileMan.
8369 This function is to support the smooth increment of progress bars during a file copy.
8370 BytesTransferred should be called within a CallBackDuring().
8372 11) CF-cards format has been changed again. They can now be freely transfered between protea
8375 12) Some optimisations to RFile::Seek. More to follow.
8377 13) The loader has moved into a thread that is continuously running. This should
8378 prevent problems caused by the interaction between the loader and the undertaker.
8382 1) Fixed a few places where code assumed KErrGeneral==KNotFound
8388 Changes to EPOC platform:
8389 1) Fixed RAM loading of statically linked libraries: A DLibrary
8390 of a statically linked DLL is now created relative to the newly
8392 Also, the call to UserSvr::LibraryLoaded for each library is delayed
8393 until all Dlls are loaded so that the code chunk is not protected
8394 before the loader is able to fix-up the imports and entrypoints.
8395 And, the DllRefTable of a library/exe is updated for all of its
8396 imported DLLs, not just the ones that have not already been 'seen'
8397 further up the load chain.
8399 2) Added 4 Uids (for Uid1) that are checked for EXEs and DLLs at load time:
8400 KNarrowDebugUid, KNarrowReleaseUid, KWideDebugUid, KWideReleaseUid.
8402 3) Added type safe linking for statically linked DLLs. The libraries 3rd
8403 Uid is encoded in the DLL's export name. eg. TEST[12345678].DLL would
8404 link to TEST.DLL and the 3rd Uid would be verified to be 0x12345678
8407 4) Change to E32ImageHeader and TLoaderInfo data structures to add
8410 1) *.* matches all filenames, with or without extensions.
8412 2) TOpenFileList is implemented.
8414 Calling TOpenFileList::Next returns a CFileList of files
8415 opened by one RFs session.
8417 3) Fixed Notify bug. Multiple sessions can now be notified of
8420 4) Various changes to CFileMan.
8422 All operations are now implemented and allow recursion through
8425 5) Bug fix to WINS RFs::SetEntry.
8427 Setting the time on a read only file gave KErrAccessDenied
8428 - spotted by Dominic.
8432 (Made by Jal, September 27th 1996)
8434 1) Added an ESortNone option to TEntryKey.
8436 Any code that relied on ESortByName == 0 will be broken by
8440 1) Added DEBUG command to the E32 text shell which starts the GDB stub. Type
8441 debug <filename>. The stub, D_GDB.EXE, must be present in Z:\SYSTEM\LIBS
8442 and should be after EUSER.DLL and before anything you are debugging
8443 in the ROM obey file. D_GDB will live in Z:\SYSTEM\PROGRAMS in
8444 future, but for now problems may occur if it is not in LIBS.
8446 2) Fixed a few bugs in the shell to do with running executables when supplying
8447 paths from different drives or directories.
8451 (Made by Jal, September 23rd 1996)
8453 1) Local drive attributes are initialized even if a disk is not present.
8455 - TDriveList will now contain entries for all local drives.
8456 - TDriveInfo.iType is set to EMediaNotPresent if the drive doesn't contain a disk.
8458 2) Changes to CFileMan.
8460 By default CFileMan provides synchronous functions.
8461 Call SetAsynchronous(ETrue) to make CFileMan operate asynchronously within a low priority thread.
8462 An optional callback function is checked after each successfully completed or
8463 failed operation and should return retry, continue or abort.
8465 3) Bug fix: Under WINS drive C: now returns the correct media attributes.
8467 4) TDriveUnit added to F32FILE.H from BillB.
8469 5) Bug fix: TFindFile no longer panics if its RFs session cannot connect.
8471 A connected session is passed in during construction.
8473 6) Bug fix: EShell Type command opens files with mode EFileShareAny
8475 7) A change to the bootsector format means any cf-cards formatted by release 033 will not be recognised.
8478 1) Extended Library and Process loading in line with E32.
8479 2) Added more library loading test code.
8483 (Made by Jal, September 11th 1996)
8485 1) Initial path moved to C: on all platforms.
8487 2) Bug fixed: NTFS Uid streams can now be read.
8489 3) Bug fixed: Code no longer attempts to read a UID from a file with length < sizeof(TCheckedUid)
8491 4) EShell now has a fully functional single line editor - thanks to SteveG
8495 The path and extension are now inherited regardless of drives.
8497 6) KErrDiskFull is now returned when you run out of disk space.
8499 7) All WINS drives are now hidden by default.
8501 WINS drives may be accessed by using environment variables.
8505 1) Created a new MAK file in BWINC - EFSRV. This contains both client and server side of the file server code.
8507 2) Changes to initialisation code, with the removal of the dependancy on k32Std.h !
8509 3) Creation of new TWINC directory. Conatins mak files for testing the TFSRV code under WINC. Not all test code works, due to dependancies on the existance of files such as ECONS. Will change the testcode for __WINC__
8511 4) MNT file changes in parallel with e32.
8515 (Made by Jal, September 7th 1996)
8518 1) Added environment path & system directory searching for exe loading
8520 2) Added environment path searching for dll loading, and improved
8521 WINS loading scheme to cope with new scheme for C: and Z:
8525 1) The directory that represents drive C: under WINS will default to
8526 the current drive. Similarly, the current drive will be used if the drive
8527 is omitted from an environment variable value.
8529 2) CFileMan::Copy and Move have been implemented and will handle
8532 3) Bug fixed - RDir::Open no longer returns an error if the directory
8535 4) Added TDriveNumber, an enum to enumerate drives.
8537 5) Implemented RFs::Replace(anOldName,aNewName);
8539 The code is equivalent, for most purposes, to
8541 Delete(aNewName); // ignore error
8542 Rename(anOldName,aNewName); // pay attention to error
8544 The critical difference is that the function is atomic. That is, it avoids
8545 the caller having to worry about the case of the Delete succeeding and the Rename failing.
8547 6) Added functionality to TFindFile::FindByPath
8549 If the path does not specify a drive letter all drives are
8550 searched in turn from A -> Z.
8552 7) The real FAT and ROM filesystems may be added under WINS for
8555 test.Next(_L("Mounting FAT filesystem"));
8556 r=TheFs.AddFileSystem(_L("EFAT"));
8558 r=TheFs.MountFileSystem(_L("Fat"),EDriveY);
8559 test(r==KErrNone || r==KErrCorrupt);
8562 test.Next(_L("Mounting ROM filesystem"));
8563 r=TheFs.MountFileSystem(_L("Rom"),EDriveX);
8566 (Code taken from T_SCAN.CPP)
8568 8) Initial default path is set to Z: on all platforms.
8572 (Made by Jal, August 29th 1996)
8574 1) ROMFILE.BIN and IRAMLDRV.BIN have been superseded by a new system
8575 on the WINS platform.
8577 C: now shows the files in C:\Epoc32\WINS\C
8578 Y: has disappeared forever.
8579 Z: now defaults to C:\Epoc32\WINS\Z
8581 Those who live on D: or have a very good reason to use a
8582 different path can set an environment variable _EPOC_DRIVE_?
8583 (where ? is the drive letter). eg:
8585 set _EPOC_DRIVE_C=D:\Epoc32\WINS\C
8586 set _EPOC_DRIVE_Y=C:\MY_Y_DRIVE
8588 2) RFs::IsRomAddress is not supported by the new system and will
8589 be removed after the api is unfrozen.
8593 (Made by Jane, August 26th 1996)
8596 Various mnt.cmd and bld.cmd bug fixes for the new directory scheme.
8599 Various WINC build problem fixes for the new directory scheme
8603 (Made by Jane and Jal, 17 August '96)
8605 1) Fixed bug in RFs::Delete - corrupted disk when size > 0.5MB
8607 2) Stopped bad relocations warnings from being triggered by EShell
8609 3) Added EFSRVD.DEF to \F32\BWINS\LI.PRJ
8611 4) RFile::ChangeMode(TFileMode aMode) added.
8613 Allows the share mode of a file to be toggled between EFileShareExclusive and EFileShareReadersOnly.
8614 Passing any other value returns KErrArgument.
8615 KErrAccessDenied is returned if a file has multiple readers and aMode==EFileShareExclusive or if the
8616 file share mode is EFileShareAny.
8618 5) Fixed "md" bug in Shell.
8620 6) Added functions to allow access to short (8.3) filenames.
8621 (For use by people trying to talk to primative 16bit windows apps ie: Psiwin)
8623 RFs::GetShortName(const TDesC& aLongName,TDes& aShortName);
8624 - Gets the short name associated with the VFAT aLongName
8625 - aLongName must include the full path to the file if it differs from the sessionPath
8626 RFs::GetLongName(const TDesC& aShortName,TDes& aLongName);
8627 - Gets the VFAT version of aShortName
8628 - aShortName must include the full path to the file if it differs from the sessionPath
8630 7) The WINS filesystem now returns long filenames as we now have an alternative method for accessing short ones.
8632 8) Renamed RFileText to TFileText and removed obselete close method.
8634 9) Changed function names:
8636 const TParse& CDirScan::RelPath() -> TPtrC CDirScan::AbbreviatedPath()
8637 const TParse& CDirScan::AbsPath() -> TPtrC CDirScan::FullPath()
8638 void CDirScan::SetScanDataL(...) changed TEntryKey to TUint
8639 TPtrC CFileBase::RelPath() -> TPtrC CFileBase::AbbreviatedPath()
8640 TPtrC CFileBase::AbsPath() -> TPtrC CFileBase::FullPath()
8641 void CFileMan::Attribs(const TParse& aFileName,TUint anAttributes) -> Attribs(const TParse& aFileName,TUint aSetMask,TUint aClearMask)
8642 void CFileMan::Copy(const TParse& aName,const TParse& aNewPath) -> Copy(const TParse& aName,const TDesC& aNewPath)
8643 void CFileMan::Locate(const TParse& aName,const TDesC* aSearchPath=NULL); has been removed.
8644 void CFileMan::LocateByPath(const TParse& aName,const TDesC* aSearchPath=NULL); has been added, but not implemented
8645 void CFileMan::LocateByDir(const TParse& aName); has been added, but not implemented
8647 10) Added api for TOpenFileScan. (not yet implemented)
8649 This class allows the user to iterate through the files that are currently open.
8650 Calling Next creates a CEntryList (a typedef of CDir) of the files opened by a thread.
8651 The owner of the files listed is returned by calling Owner().
8653 11) Added api for function RFs::Replace (not yet implemented) as proposed.
8655 TInt RFs::Replace(const TDesC& anOldName,const TDesC& aNewName);
8657 12) Added RFs::IsRomAddress
8660 13) Added api for RFs::GetNotifyUser and RFs::SetNotifyUser (not implemented)
8662 If NotifyUser == ETrue the user is automatically requested to replace a CF card whenever necessary.
8663 If NotifyUser == EFalse an error is returned to the caller - a file may be marked corrupt if a write failed.
8666 When attempting a read a check is made to ensure the disk is available. If it is not already present in a drive the
8667 user is asked to replace the disk. The request is repeated until the user complies or aborts the read. In this case
8668 an KErrAbort is returned.
8669 If the disk is removed while writing data the user is requested to replace the disk and warned that failing to do so
8670 will result in the loss of data. If the user aborts the write the file is marked corrupt and KErrAbort is returned.
8674 (Made by Graham, 27 July '96)
8676 1) Ported B_GEN.CPP and fixed the bugs it showed up.
8678 2) Made more changes to the shell.
8680 Invalid switches should no longer cause a panic
8681 Batch files and executables can be run without specifying the .XXX extension.
8683 3) TInt RFs::CheckDisk(const TDesC& aDrive) method added.
8685 Returns KErrNone or an error is the disk is corrupt.
8687 4) void RFs::SetErrorCondition(TInt anErrorCode) method added
8689 Causes calls to the fileserver to fail with error anErrorCode. (anErrorCode==KErrNone clears the failure mode)
8690 - Only available in the debug build.
8692 5) Operations on the ROM such as write to file, create new directory etc now return KErrAccessDenied instead of KErrNotSupported
8694 6) Compression for the internal ram drive has been implemented.
8698 (Made by Graham, 02 July '96)
8701 1) VFAT has been implemented
8703 Strings of upto 255 chars in length may be used as file or directory names.
8704 This has enabled us to produce the first tested Unicode release of the
8705 fileserver for some time.
8707 2) Fixed NT time <-> TTime conversion
8709 MarkT reported a 1hr discrepancy between files listed from a dos box
8710 and files listed in the shell.
8712 3) Notify has been implemented
8714 RFs::Notify allows programs to automatically update file information as changes occur.
8718 OLD :: enum TSeek {EAddress,EStart,ECurrent,EEnd};
8719 NEW :: enum TSeek {ESeekAddress,ESeekStart,ESeekCurrent,ESeekEnd};
8721 5) The FAT is now cached
8723 6) Directory entry bug fixed:
8725 Directories with > 26 entries corrupted the FAT
8727 7) Rename checks for duplication of file names. Rename across directories is implemented.
8729 The error returned if a rename across drives is attempted has been changed to KErrArgument.
8731 8) Improvements to the shell from Matthew:
8733 Wildcards and a new destination can now be specified in Copy.
8734 Delete also accepts wildcards.
8737 9) Fixed bug HA-162 in RDir asynchronous read
8739 RDir::Read(TEntry& anEntry,TRequestStatus& aStatus) <- old
8740 RDir::Read(TPckg<TEntry>& anEntry,TRequestStatus& aStatus) <- new
8744 1) RAM loader code changed to support new E32Image format (E32TOOLS 029 and later.)
8746 IMPORTANT NOTE - You must now update to the latest version of E32TOOLS. This
8747 version of E32/F32 is incompatible with versions of tools pre 029.
8749 2) Added limited support for search paths in RAM loading of DLLs. More will be added with an additional
8750 search path parameter in the client interface.
8754 (Made by Graham, 31 May '96)
8758 Fixed bug in loader with EXE files which import from more
8762 Fixed UID bug. Uids were being read all the time regardless
8765 3) Made GetDir sort using CompareF instead of just Compare.
8769 (Made by Graham, 30 May '96)
8771 1) Implemented RFileText.
8773 RFileText::Read reads a terminated line of text into a descriptor
8774 RFileText::Write writes the descriptor data to the end of the file and adds a terminator
8775 RFileText::Seek seeks to either the start or end of a file or panics.
8776 - after J-Day this will change to TFileText as the close method is not required.
8778 2) Changes to TShell (from DW) that display more information if a process panics.
8780 3) Implemented TFindFile
8782 TInt TFindFile::FindByPath(const TDesC& aFileName,const TDesC& aPathList);
8783 - Looks for aFileName then searches the semicolon delimited aPathList.
8784 TInt TFindFile::FindByDir(const TDesC& aFileName,const TDesC& aDir);
8785 - Looks for aFileName in directory aDir on all drives - the default drive is searched first.
8786 TInt TFindFile::Find()
8787 - Searches the next drive or member of the pathlist.
8788 void TFindFile::File()
8789 - Returns the last file found
8790 Return values are KErrNone or KNotFound
8792 4) Added change suggested by SimonB to WINS filesystem (HA-154)
8794 5) Modification to Uid behaviour under WINS at the request of GeertB:
8796 A check for a uid at the start of a file is made when the NTFS :UID stream is not present.
8798 6) Fixed bug HA-152. The name of the file generated by RFile::Temp now specifies the drive.
8800 7) Fixed bug HA-139. The archive file attribute is now set when:
8802 The file is created or replaced.
8803 The file is written to.
8807 (Made by Graham, 24 May '96)
8810 1. Rename bug fixed - spotted by DominicP
8812 2. Implemented Uids.
8814 If RFs::GetDir is called with KEntryAttAllowUid selected the
8815 entrylist will contain UID information if it is present.
8816 All calls to RFs::Entry will return UID information.
8817 The WINS ELOCAL.FSY implements uids as an NTFS filestream "UID"
8818 associated with the file.
8820 WINS uid filestreams may be created and read using the tool e32uid.exe
8822 3. Created new directory TMAN for non-standard tests that must be run manually.
8824 4. Changed implementation of RFile::Write
8826 All clusters required for a write are allocated
8827 before data is written.
8829 5. The mode argument of RFile::Create and RFile::Replace is
8830 now automatically ored with EFileWrite.
8832 6. GetDir on the root directory of an empty floppy in a: no longer
8836 Added support for RAM loading of dlls and exes. Currently entrypoints
8837 are called in the same manner as for ROM exes and dlls, i.e. only once
8838 for a process attach, and never for a thread attach/detach, or a process
8844 (Made by Jal, 9 May '96)
8848 1). Changed RFile::Read() to not return KErrEof.
8852 (Made by Colly, 6 May '96)
8856 1). T_RCOUNT.EXE would fail if it was run from the command line
8857 as T_RCOUNT without the .exe extension. This was because the
8858 program tried to open itself. Fixed this with a hack since the
8859 O/S was at fault not returning the full path name and leaving
8860 off the extension .exe
8862 2). F32MSG.H was incorrectly namedas it is a private header file.
8863 Renamed to message.h.
8865 3). Added some inline functions to f32file.h which meant a new
8866 header file f32file.inl. So remember to update all dependencies.
8870 1). Arguments to GetDir changed from aFileList to anEntryList -
8871 the former was misleading as the entries listed could be either
8872 files or directories.
8874 2). CDirScan added. This provides functionality for traversing a
8875 directory structure. CDirScan::SetScanData sets the root of the
8876 structure. CDirScan::Next returns the directory contents. Repeatedly
8877 calling next will move through the directory structure. See the
8878 test code T_SCAN.CPP for an example.
8880 3). TShell: Matthew has made a few changes to replace explicit numbers
8881 with meaningful constants. CShell now owns a CConsoleBase* instead of
8882 subclassing CConsoleTextWin - as suggested by DW.
8884 4). As requested by KevinD:
8885 RFile::Read returns KErrEof if it cannot read any more data.
8887 5). Stub functionality has been added for:
8888 CFileMan - active object support for functions that are recursive
8889 or can take a wildcard.
8890 CFileBase - base class for CFileMan
8891 RFileText - read/write \cr\lf delimited text records from a file.
8892 RRawDisk - allow direct disk access, no other resources can be open
8893 during direct access
8894 RFs::ListOpenResources - returns a list of the currently open resources
8895 RFs::ListOpenFiles - returns a list of the currently open files.
8896 TFormatMode::EQuickFormat - just resets the FAT table and root directory
8898 I'm still looking at ways to test for server side alloc heaven from
8899 client side test code. Hence some provisional debuging facilities
8901 RFs::ServerHeapMarkStart();
8902 RFs::ServerHeapMarkEnd();
8903 RFs::ServerHeapFailNext(TInt aCount);
8904 Further functions to simulate Read/Write, low battery etc failures
8905 are under discussion.
8907 6). Added automatic formatting of the RAM drive to the startup sequence.
8909 7). Added Universal identifiers to TEntry
8911 TEntry::operator[](TInt anIndex) const;
8912 TEntry::IsUidPresent(TUid aUid) const;
8913 TEntry::IsUidValid() const;
8917 Added %_F32VER% as the second parameter of all recursive
8918 getXXX calls to fix defect HA-121 reported by DavidW
8920 9). RFs::GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList)
8922 Changed argument name aFileList to anEntryList to reduce confusion as
8923 reported in defect HA-90 by SimonC. anEntryList can contain either
8924 files, directories or both depending on anEntryAttMask. eg:
8925 anEntryAttMask=KEntryAttMaskSupported => list all entries
8926 anEntryAttMask=KEntryAttDir|KEntryAttMatchExclusive => list directories only
8927 anEntryAttMask=KEntryAttNormal => list files only
8929 10).Shell Copy Command: Will not change the time stamp to fix HA-109
8934 (Made by Graham, 24 April '96)
8936 1) Fixed exception generated when trying to access a non-existent drive.
8937 (Reported by Brendan as defect HA-108)
8939 2) Add to .OBY files
8940 file=c:\work\emarm\elocald.fsy sys\elocald.fsy
8942 3) Renamed T_FORMAT to T_MISC as it includes many simple, general tests as
8945 4) RFs::MkDir trying to create a root directory on a mounted drive:
8946 MkDir(_L("\\")); or MkDir(_L("\\PROG")); will now return KErrAlreadyExists.
8947 If the drive is not mounted the return value could also be
8948 KErrNotReady or KErrCorrupt.
8950 5) RFs::RmDir when trying to delete a root directory returns KErrInUse.
8952 In general, not ready errors, corrupt media, etc are given priority
8955 6) KDefaultDrive=KMaxTInt, the previous value was zero. This allows
8956 simplification of drive numbering. Now A: has value 0, B: =1 etc
8958 7) Split the fat file system off into its own dll. In WINS this is called
8959 EFAT.FSY because the local filesystem is NT. For other platforms the
8960 fat filesystem is named is ELOCAL.FSY. NB: .OBY files will need to
8961 add the extra line: file=c:\work\emarm\elocald.fsy sys\elocald.fsy
8963 8) Deleted obselete file F32Locl.cpp from SWINS directoryrCorrupt.
8967 (Made by Graham, 8 April '96)
8970 Run test programs on X86 and ARM platforms.
8972 MkDir acts only on the path presented by its argument and will
8973 ignore any filename.
8975 MkDir(_L("C:\\PROG1\\PROGDATA.TXT")); will create a PROG1
8977 MkDir(_L("C:\\PROG1\\"); is exactly equivalent to the above.
8978 MkDir(_L("C:\\PROG1"); will return KErrBadName
8979 Similar changes have been made to RmDir() and RDir::Open().
8980 This change should be made consistently across all directory
8981 oriented functions - please report any I miss.
8983 TParse Set(aName,aRelated,aDefault):
8984 aName of the form "xxx\yyy" now returns KErrBadName
8985 Any name that contains a '\' is treated as a path and therefore
8986 must start with a '\'
8987 Set(_L("\\xxx\\yyy"),NULL,_L("C:\\BBB")); returns a drive "C:"
8988 path "\xxx\" name "yyy"
8990 RFile::Commit has been renamed to Flush
8992 GetDir functionality should now be consistent across rom, fat and
8994 GetDir(Path_Ignoring_Name,Selection_Flags,Ordering_Flags,FileList)
8995 GetDir(Path_Ignoring_Name,Selection_Flags,Ordering_Flags,FileList,DirList)
8997 GetDir(_L("C:\\"),NULL,NULL,aFileList); lists files only from the
8998 root directory into aFileList
8999 GetDir(_L("C:\\"),KEntryAttDir,NULL,aFileList); lists all files
9000 and directories excluding hidden and system files
9001 GetDir(_L("C:\\"),KEntryAttMaskSupported,NULL,aFileList); lists
9002 everything except the volume entry.
9003 GetDir(...,...,...,...,aDirList) aDirList lists all directories
9004 in addition to the above functionality.
9006 TParse:: if aName or aRelated overrides the aDefault drive the
9007 rest of the default information
9008 is considered invalid and the default is treated as the root path
9011 TParse.Set(_L("World"),&_L("Y:"),&_L("X:\\HELLO\\.EXT"));
9012 produces a fullname _L("Y:\\World");
9017 (Made by Morgan, 18 March '96)
9020 Redesigned the text shell to allow it to be more easily
9021 maintained. Also added support for batch files.
9024 An implementation of TPlatDrive from PeteS. Enables F32 to read and
9025 write to a fixed length file on C: via TLocalDrive.
9026 Added code to TBool P::Initialise() to initialise the
9032 (Made by Morgan, 23 Feb '96)
9035 Updated to work with E32 build 054.
9038 Uses the new versions of CServer and CSession.
9039 Improved the test shell: added TYPE and HEXDUMP commands, made CD
9040 remember the current directory for each drive, and added extra
9041 switches, including '/?'.
9044 Fixed bug in F32 loader (not completing with correct error status)
9045 - now when you try to run a non-existant app you get a helpful
9046 little "File Not Found" error message.
9051 (Made by Morgan, 29 Jan '96)
9053 1). Updated to work with E32 build 053.
9055 2). Removed all trace of old date/time classes.
9057 3). Added a GETSRC verb to MNT.CMD
9062 (Made by Matthew, 16 Jan '96)
9065 Updated to work with E32 build 52, including partial conversion to
9066 the new date/time classes.
9071 (Made by Matthew, 21 Dec '95)
9073 1). Updated to work with E32 build 051.
9076 Added support for dll and device loading under EPOC.
9081 (Made by Matthew, 12 Dec '95)
9084 Updated to work with the new definition of TBool in E32 build
9085 050. See the E32 release notes for information on these changes.
9088 Added cleanup verb to build system.
9091 Improved test shell to run test programs on EPOC, and added a
9092 few DOS-esque commands (try HELP).
9097 (Made by Matthew, 21 Nov 1995)
9099 1). Updated to work with E32 build 049.
9103 (Made by Colly, 30 Oct 1995)
9105 1). Updated to work with E32 build 048
9107 2). Added builds for the Arm version in \f32\bmarm.
9109 3). Added support to load DLLs.
9113 (Made by Colly, 9 Oct 1995)
9115 1). Updated to work with E32 build 047
9117 2). The file server was not synchronising its startup with the kernel
9122 (Made by Colly, 2 Oct 1995)
9124 1). Updated to work with E32 build 046
9126 2). b_rand.cpp now compiles and runs in unicode builds. May thanks to
9127 Geert for fixing this.
9129 3). Added the basic text windows shell. The source is in \F32\TSHELL
9131 4). Added the loader server to support EPOC/32 builds.
9133 5). For EPOC/32 builds, made the file server scan for a window server
9134 in \SYS directories called WSERV?.EXE. It will load the correct
9135 window server according to the build of the file server being
9136 executed, i.e. WSERV.EXE, WSERVD.EXE, WSERVU.EXE and WSERVUD.EXE.
9137 It is also presumed that the window server will scan for a shell
9138 in \SYS directories. The shell is epected to be called SHELL?.EXE.
9140 6). Added RFs::AddFileSystem() and RFs::RemoveFileSystem(). These
9141 functions allow file systems to by dynamically added and removed.
9143 7). The ROM filing system was not opening files with the archive bit set
9144 as normal files. Fixed.
9146 8). Added the text shell to the group.
9148 9). If a drive was not ready and a file or directory was opened on it no
9149 error was reported even though ity had failed.
9151 10).The ROM file system was not reporting the size of files correctly.
9155 (Made by Colly, 30 Aug 1995)
9157 1). Updated to work with E32 build 045
9158 2). Added the ROM file system for WINS. This will load a file
9159 in \E32SYS\ROMFILE.BIN as the ROM filling system. This file
9160 can be built with the E32ROM.EXE building tool or the T_ROMG.EXE
9161 test program. Note that under WINS DLLs and EXEs cannot be loaded
9162 from the ROM filing system. For unicode the file ROMFILEU.BIN is
9163 generated. T_ROMG.EXE wants the path name of a directory as its
9164 argument. The contents of the sepcified directory become the root
9165 of the ROM file system. T_ROMG.EXE will include all sub-directories
9166 of the specified directory. Note that the ROM file system will
9168 3). First release of EPOC32/X86 version of the file server and ROM
9173 (Made by Colly, 23 Aug 1995)
9175 1). Updated to work with E32 build 044
9179 (Made by Colly, 21 Aug 1995)
9181 1). All DLLs now link by ordinal.
9182 2). Updated to work with E32 build 043
9186 All test now pass in all builds. i.e. The file server is now working
9191 (Made by Colly, 25 July 1995)
9193 1). Completed implementation of CDir::Sort().
9194 2). RFile::Seek() was not supporting EAddress seek type properly. Fixed.
9195 3). Moved the .MAK files to \F32\BWINS so the .PDB debug databases get
9196 full pathnames to the source files.
9197 4). Fixed the file server bug which was causing the server to crash when
9198 closing the connection to the server.
9202 (Made by Colly, 20 July 1995)
9204 1). Upgrade to support E32 build 040.
9205 2). Use the new build strategy using nmake
9206 3). Pick up E32 headers from \E32INC
9207 4). Unicode versions of the file server are now working.
9208 5). Changed the RFile::Read() function to take an argument of
9209 TEntryArray which is a new CDT to hold a packed array of entries.
9210 TEntryArray just has Count() and operator[] so that it is
9211 "LIKE" the CArray classes. Althought the read packed entries functions
9212 are public they are really intended for use by the RFs::GetDir()
9213 functions. i.e. Use RFs::GetDir() in preference.
9214 6). The CDir class is now implemented as are the RFs::GetDir()
9215 functions. CDir::Sort() still needs to be implemented.
9217 b_rand.cpp does not compile in Unicode.
9221 (Made by Colly, 23 June 1995)
9223 1). Fixed a number of the functions which should have been const to
9225 2). Changed to work with build 039 of E32.
9229 (Made by DavidW, 19 May 1995)
9231 1). Rebuilt on my PC and re-released so that EFSRVD.DLL doesn't want
9232 to import _adjust_fdiv from MSVCRT20.DLL (that function doesn't seem
9233 to exist in that DLL on PCs at work!)
9237 (Made by Colly, 17 May 1995)
9239 1). Fixed a bug in RFile.Temp() which was not returning the name
9240 of the temporary file properly.
9241 2). Converted the test program B_RAND.CPP.
9242 3). Added test program T_LOCK.CPP
9243 4). Fixed a bug in locking overlapped regions.
9244 5). Changed T_FSRV.CPP to use O: rather than Z:
9245 6). Recording the size of compnents in the release history.
9247 Comp Date Bld .text .bss .rdata .data .idata Total
9248 ===== ========= === ====== ====== ====== ====== ====== ======
9249 EFSRV 17-Mar-95 2 17502 1312 332 152 5414 23400
9253 (Made by Colly, 9 May 1995)
9257 Started with the design for the file server, had it reviewed and
9258 implemented it all in just two weeks.
9260 The main header file is F32FILE.H.
9262 The header file F32FSYS.H is for the use of implementers of file
9263 systems which are used by the file server.