Version 2.00.3036
=================
(Made by vfebvre 27/04/2010)
1. erifung
1. DEF144399 Frequent T_LDRCHECK failures on the H4
Version 2.00.3035
=================
(Made by vfebvre 23/04/2010)
1. niccox
1. ou1cimx1#357492 Disconnecting memory card reader/writer from phone causes phone crash
Version 2.00.3034
=================
(Made by vfebvre 20/04/2010)
1. vfebvre
1. REQ417-62711 Sirocco: Build and Test Systems Migration
PackageReleaseID=487623 FeaturePlanID=457782
Version 2.00.3033
=================
(Made by vfebvre 16/04/2010)
1. niccox
1. DEF145330 Error in mass storage note when connecting SanDisk 16GB stick to phone
Version 2.00.3032
=================
(Made by vfebvre 16/04/2010)
1. vfebvre
1. No change
Version 2.00.3031
=================
(Made by vfebvre 15/04/2010)
1. migubarr
1. REQ 415-7212 NFE drive encryption on Demand Paging-enabled device, kernelhwsrv/MCL
PackageReleaseID=453228 FeatureReleaseID=447937
Version 2.00.3030
=================
(Made by vfebvre 14/04/2010)
1. famustaf
1. DEF145043 F32TEST T_FSYS test failure investigation
Added the KMediaRemountForceMediaChange flag in the call to RemountDrive() to
simulate ejecting and re-inserting the media.
Version 2.00.3029
=================
(Made by vfebvre 12/04/2010)
1. kmetherm
1. REQ 417-57581 RVCT 4 compatible software codebase (SSS)
PackageReleaseID=476546 FeaturePlanID=444184
Version 2.00.3028
=================
(Made by vfebvre 09/04/2010)
1. fagortz
1. PDEF145219 TTPA-83EAYU: Partition handling for USB drives with 4K block size is incorrect
Version 2.00.3027
=================
(Made by vfebvre 08/04/2010)
1. frhofman
1. DEF145044: F32TEST T_HANDSHARE test failure investigation
Version 2.00.3026
=================
(Made by vfebvre 30/03/2010)
1. michcox
1. DEF145235 DNAK-83X92C Symbian^3 SDK : Compilation error in Error in "f32notification.h"
Version 2.00.3025
=================
(Made by vfebvre 26/03/2010)
1. famustaf
1. REQ 417-52995 Improved rugged FAT performance
PackageReleaseID=419439 FeatureReleaseID=419437
Version 2.00.3024
=================
(Made by vfebvre 22/03/2010)
1. migubarr
1. DEF144423 Frequent T_RCACHE failures on the H2/H6 (line 1556)
2. michcox
1. PDEF145110 File server does not check return result of some User::ReAlloc()'s
Version 2.00.3023
=================
(Made by vfebvre 15/03/2010)
1. niccox
1. DEF145021 Improper Mass Storage Error Code for Empty Drive case
2. shamaden
1. PDEF144922 TRAI-82RJFS Crash when usb memory is dismounted during copy
Version 2.00.3022
=================
(Made by vfebvre 12/03/2010)
1. famustaf
1. MINOR_CHANGE Updated RFs::ScanDrive and RFs::CheckDisk Documentation
2. michcox
1. DEF144912 T_EXT1 fails under platsim as it doesn't support fsys extensions
Version 2.00.3021
=================
(Made by vfebvre 11/03/2010)
1. frhofman
1. PDEF144919: SALM-82WCVK: efile.exe crashes in dynamic dir cache code when out-of-memory
Version 2.00.3020
=================
(Made by vfebvre 08/03/2010)
1. niccox
1. PDEF144805 Transcend flash drive not recognised
2. dlyokhin
1. PDEF144751 FAT: unable to mount volume larger than 1TB
Version 2.00.3019
=================
(Made by vfebvre 04/03/2010)
1. dlyokhin
1. PDEF144780 exFAT: T_chkUID test failure
Version 2.00.3018
=================
(Made by vfebvre 03/03/2010)
1. niccox
1. DEF144738 Initialisation of MaxLun if USB device stalls request
Version 2.00.3017
=================
(Made by vfebvre 02/03/2010)
1. dlyokhin
1. DEF144683 TUint32 overflow in CFatFileCB::DoExpandFileL()
Version 2.00.3016
=================
(Made by vfebvre 26/02/2010)
1. famustaf
1. PDEF144638 Missing Trap in a non-leaving function.
2. frhofman
1. DEF144651: Revert IsFileOpen() behaviour to perform file existance check
3. dlyokhin
1. PDEF144599 FAT leaf directory cache should be enabled by default
2. DEF144629 Better checks in CFat16FixedCache code
Version 2.00.3015
=================
(Made by vfebvre 25/02/2010)
1. niccox
1. DEF144571 remove redundant bootsector code from smassstorage
Version 2.00.3014
=================
(Made by vfebvre 23/02/2010)
1. jsucksmi
1. PDEF144223:Emulated removable drive X is not present in tb10.1(MSF00326) and tb9.2(1014)
Version 2.00.3013
=================
(Made by vfebvre 19/02/2010)
1. dlyokhin
1. DEF144487: FAT FS should allow skipping file timestamp update on data flushing
Version 2.00.3012
=================
(Made by vfebvre 18/02/2010)
1. famustaf
1. DEF144437 Optimise TParseBase::AddDir() to not use TFileName
2. migubarr
1. PDEF144408: File Server request cache is not big enough for S60
Version 2.00.3011
=================
(Made by vfebvre 11/02/2010)
1. dlyokhin
1. PDEF144357 VFAT interoperability: LFN entries padding is wrong
Version 2.00.3010
=================
(Made by vfebvre 09/02/2010)
1. kaduan
1. DEF144138: Unwanted directory cache change caused performance regression
2. dlyokhin
1. PDEF144270 potential memory leak in TFindFile::FindWildByDir()
Version 2.00.3009
=================
(Made by vfebvre 05/02/2010)
1. niccox
1. PDEF144293 Add ModeSense10 support to USB MS Client
Version 2.00.3008
=================
(Made by vfebvre 03/02/2010)
1. migubarr
1. PDEF144173: Small FAT32 partitions on large media can sometimes be formatted incorrectly
Version 2.00.3007
=================
(Made by vfebvre 28/01/2010)
1. famustaf
1. DEF144032 Change tests in t_fman to use __E32TEST_EXTENSION__
2. hengrant
1. DEFECT FIX: DEF144005 New Memory & File Server Coverity Defects
Fix 3 Coverity Issues
Version 2.00.3006
=================
(Made by vfebvre 21/01/2010)
1. dlyokhin
1. PDEF143792 FAT: renaming many files in a directory corrupts short file names
Version 2.00.3005
=================
(Made by vfebvre 19/01/2010)
1. necliffo
1. DEF143911 WDP: T_locate fails on VASCO
Version 2.00.3004
=================
(Made by vfebvre 15/01/2010)
1. niccox
1. PDEF143832 t_falsespace should not be run on drive if media type is EMediaRAM
Version 2.00.3003
=================
(Made by vfebvre 15/01/2010)
1. niccox
1. DEF143785 USB Host MS does not handle non-mass-storage drive correctly
2. MINOR_CHANGE hostusbmsapp support for different screen sizes
2. kaduan
1. PDEF143820: File system caching should be turned off on the S60 emulator
3. migubarr
1. PDEF143787: t_ms_mountstart fails on H4 and VASCO
Version 2.00.3002
=================
(Made by vfebvre 13/01/2010)
1. kaduan
1. PDEF143778 T_HANDSHARE failed on NE1_TB_ARMV5.UDEB.SMPPAGE image
2. dlyokhin
1. DEF143404 FAT: deleting VFAT entryset is not optimal
Version 2.00.3001
=================
(Made by vfebvre 12/01/2010)
1. niccox
1. MINOR_CHANGE usbtestclient corrections
Version 2.00.3000
=================
(Made by vfebvre 07/01/2010)
1. niccox
1. DEF143508 Host USB ModeSense10 command does not decode ModeDataLength
Version 2.00.2026
=================
(Made by vfebvre 17/12/2009)
1. patrickconway
1. DEFECT FIX: DEF143273: Mass Storage still using an obsoleted API to allocate endpoint resources
In cases where support for new API is detected in device capabilities, use that API to allocate endpoint resources
Version 2.00.2025
=================
(Made by vfebvre 16/12/2009)
1. MichaelCox
1. MINOR_CHANGE: Improve documentation for class CFsNotify concerning how big the buffer should be
2. HaoJ
1. DEFECT FIX: DEF143253 [Coverity]:DEADCODE and CHECKED_RETURN error in MSF00264 vtb101sf
2. MINOR_CHANGE: Remove a build warning in arm4 and wins introduced by fix for DEF143253
3. hengrant
1. DEFECT FIX: DEF143386: t_notify_perf failure of edge use cases on gekko79
4. DmitryL
1. DEFECT FIX: DEF143263 FAT CheckDisk() is too slow comparing to ScanDrive()
5. FadhliMustaffa
1. DEFECT FIX: DEF142711: RFsPlugin needs to expose a Volume() API
Version 2.00.2024
=================
(Made by vfebvre 15/12/2009)
1. cnotton
1. MINOR_CHANGE Added two missing public headers for case when SYMBIAN_ENABLE_PUBLIC_PLATFORM_HEADER_SPLIT is used.
Version 2.00.2023
=================
(Made by VincentF 14/12/2009)
1. cnotton
1. DEF143346: Stop including platform headers in f32file.h
Version 2.00.2022
=================
(Made by VincentF 10/12/2009)
1. DmitryL
1. DEFECT FIX: DEF143214 t_automounter.cpp depends on exfat which is not contributed to the foundation
2. KaiD
1. DEFECT FIX: DEF143215: File server requesting a large chunk
Version 2.00.2021
=================
(Made by VincentF 03/12/2009)
1. DmitryL
1. DEFECT FIX: DEF142313 excessive usage of Entry() in the file server
2. MINOR_CHANGE: placing RBitVector into common utilities file
2. HaoJ
1. DEFECT FIX: DEF143222 t_notify_perf failure
Version 2.00.2020
=================
(Made by VincentF 27/11/2009)
1. NicholasC
1. DEFECT FIX: DEF143079: E32USER-CBASE 46 with Host Ms Thread3 in mass storage file system
2. DmitryL
1. DEFECT FIX: DEF143009 T_scn32rd2 test fails on 1MB FAT volume and no call to DoRummageDirCacheL()
3. ChrisNotton
1. DEFECT FIX: DEF142863: Public header files must not include platform or internal headers
Version 2.00.2019
=================
(Made by Vino Jose 25/11/2009)
1. NicholasC
1. DEFECT FIX: DEF142837: Enable File Server client to determine if logical drive is attached to USB bus
2. DEFECT FIX: DEF142899: t_ext1 fails on NaviEngine UREL with USB MS drive
3. DEFECT FIX: DEF142900: t_dspace failing with USB Mass Storage drive
2. DmitryL
1. DEFECT FIX: DEF142322 FAT: CFatMountCB::IsEndOfClusterCh() implementation is not optimal
2. DEFECT FIX: DEF142991 Automounter FS shall comply with changes introduced in DEF142837
3. DEFECT FIX: DEF143023 FAT, exFAT: CDynamicDirCache::ReadL() can't handle bulk reads
3. MichaelCox
1. DEFECT FIX: DEF142995: F32 Plugins cannot get the filename when intercepting EFsSetEntry
Version 2.00.2018
=================
(Made by Vino Jose 05/11/2009)
1. KaiDuan
1. DEF140485: ASSERT triggered in CCacheMemoryClient::Reset()
Version 2.00.2017
=================
(Made by Vino Jose 04/11/2009)
1. DmitryL
1. DEFECT FIX: DEF142796: exFAT: CExFatMountCB::SetVolumeClean() sometimes corrupts original boot code.
2. NicholasC
1. DEFECT FIX: DEF142538: b_fat32 hangs when using large Mass Storage devices
2. DEFECT FIX: DEF141812: F32TEST T_NOTIFY_MFS on Unicore SMP (Naviengine) Image
3. DEFECT FIX: DEF142590: Test hanging in usb host mass storage file system
3. SophieY
1. DEFECT FIX: DEF141402: File server trace LDD causes zombie thread to remain in existence forever
4. FadhliMustaffa
1. DEFECT FIX: DEF142406: T_FMAN and T_FSYS failing on X86 (T_fman.cpp:105 & T_fsys.cpp:570)
2. MINOR_CHANGE: Correctly labelled tests in T_FMAN
Version 2.00.2016
=================
(Made by Vino Jose 29/10/2009)
1. DmitryL
1. DEFECT FIX: DEF142713 RFs::NotifyDismount() has behaviour which is not documented
2. HaoJiang
1. DEFECT FIX: PDEF142695: unwanted disk space check when RFile::Att or RFile::Modified is called
3. NicholasC
1. MINOR CHANGE: /smassstorage/inc/cusbmassstoragescheduler.h is test file so moved to /f32test/smassstorage/inc/
2. DEFECT FIX: DEF142701: suspend not entered with large USB mass storage device after formatting
3. DEFECT FIX: DEF142703: Improve use of buffers in TBlockTransfer
Version 2.00.2015
=================
(Made by Vino Jose 22/10/2009)
1. MichaelCox
1. DEFECT FIX: DEF142065: F32 Plugins can be removed whilst still being in use
2. DmitryL
1. MINOR_UPDATE: Separating source code for 'sfat' and 'sfat32' components
Version 2.00.2014
=================
(Made by Vino Jose 21/10/2009)
1. SophieY
1. DEFECT FIX: DEF142394: File server uses excessively sized heap
Version 2.00.2013
=================
(Made by Vino Jose 13/10/2009)
1. NicholasC
1. MINOR CHANGE: Remove TCB from t_fsysbm
2. DEFECT FIX: DEF141910: Usbmsapp does not correctly support OTG environments
3. DEFECT FIX: DEF142293: [OTG] Host Ms Thread1 crashes when connecting large capacity USB stick to phone
4. DEFECT FIX: DEF142428: Buffer allocation can be improved in CUsbHostMsLogicalUnit
2. DmitryL
1. DEFECT FIX: DEF142328: make use efat32.fsy by default
Version 2.00.2012
=================
(Made by Vino Jose 07/10/2009)
1. NicholasC
1. DEFECT FIX: DEF142383: USB connection does not work after an OTG device is connected
2. MiguelB
1. DEFECT FIX: DEF142169: File Server crash observed on the NE1_TB.ARMV5.UREL.SMPDATAPAGE configuration
Version 2.00.2011
=================
(Made by Vino Jose 06/10/2009)
1. SophieY
FinalDS: SymTB9.2, GT0419, MS3.35, DS.1759 CR1993 Improve Performance of PREQ2083 NGFS
Change Requests:
CR1993 Improve Performance of PREQ2083 NGFS
Version 2.00.2010
=================
(Made by Vino Jose 01/10/2009)
1. IndrajeetSingh
1. DEFECT FIX: DEF141687: F32TEST T_COMPAT32 on all platforms
2. DmitryL
1. FinalDS: SymTB9.2, GT0419, MS3.39, DS.1823 CR2075 " Auto-mount exFAT storage media"
Change Requests: CR2075 Auto-mount exFAT storage media
Other: New COMPONENT: 169 Automounter
Version 2.00.2009
=================
(Made by Vino Jose 24/09/2009
1. RichardCo
1. DEFECT FIX: PDEF142179: Qt applications take 15 seconds to load if libraries are installed on E:
Improve performance of the loader when loading already-loaded binaries from removable media.
2. VincentF
1. MINOR_CHANGE: Break down T_PAGELDRTST into smaller test units to prevent timeouts
Version 2.00.2008
=================
(Made by Vino Jose 21/09/2009)
1. MiguelB
1. DEFECT FIX: DEF141409: File Server crashes when disconnecting Host USB
2. MichaelCox
1. DEFECT FIX: DEF141517: ONB - F32TEST Plugin_Framework_Version_2_Test Hanging on navi smp WDP
Original problem was locking the semaphore twice which caused it to hang.
Fixing this revealed a further problem of transferring requests when the session was being closed.
3. FadhliMustaffa
1. DEFECT FIX: DEF141874: [Coverity]:UNINIT,SYMBIAN.CLEANUP_STACK,REVERSE_INULL,ORDER_REVERSAL
4. NicholasC
1. DEFECT FIX: DEF141046: File Server Coverity
Part IV
Version 2.00.2007
=================
(Made by Vino Jose 16/09/2009)
1. NicholasC
1. DEFECT FIX: DEF141046: File Server Coverity
Part III
Version 2.00.2006
=================
(Made by Vino Jose 04/09/2009)
1. NicholasC
1. DEFECT FIX: DEF141046: File Server Coverity
Part II
2. DEFECT FIX: DEF141650: Host USB Mass Storage is SMPSAFE
2. DmitryL
1. DEFECT FIX: DEF141785 extra data copying in FAT LeafDir cache methods calls
2. MINOR_CHANGE: Added the ability to dump names of opened objects on media formatting
Version 2.00.2005
=================
(Made by Vino Jose 02/09/2009)
1. DmitryL
1. DEFECT FIX: DEF141591 RFormat shall allow forced media formatting even if volume has files opened.
Version 2.00.2004
=================
(Made by Vino Jose 27/08/2009)
1. KaiD
1. MINOR_CHANGE: Missing distribution.polocy.s60 files
2. FadhliMustaffa
1. DEFECT FIX: DEF141520: t_fman: test of CFileMan::Move() with long filenames is incorrect
Enabled SetupDirectoryForMove() to return an error code
Version 2.00.2003
=================
(Made by Vino Jose 21/08/2009)
1. DmitryL
1. DEFECT FIX: DEF126357: NAND User Data FAT drves should be scanned on mounting
2. DEFECT FIX: DEF141595: exFAT CExFatDirCB::ReadL() processes iPending incorrectly.
4. ChrisNotton
1. MINOR_CHANGE: Test code compile fixes in preparation for when spilt headers are enabled.
Version 2.00.2002
=================
(Made by Vino Jose 18/08/2009)
1. NicholasC
1. DEFECT FIX: DEF141046: File Server Coverity
Part I
2. FadhliMustaffa
1. DEFECT FIX: DEF140473: T_LDRTST fails on 34xx in both paged and non-paged configs (t_ldrtst.cpp:636)
Replaced hard-coded system drives in test with RFs::GetSystemDriveChar()
3. FabianGortz
1. DEFECT FIX: DEF141239: T_RDSECT intermittently fails to read correct number of bytes(t_rdsect.cpp:831)
Version 2.00.2001
=================
(Made by Vino Jose 18/08/2009)
1 NicholasC
1. DEFECT FIX: DEF141474: USB Host write access to MMC cards doesn't work properly
2. DEFECT FIX: DEF141499: Host USB Mass Storage fails to mount corrupted MMC card
3. MINOR_CHANGE: Add trace to USB disconnection notification
Version 2.00.2000
=================
(Made by Vino Jose 14/08/2009)
1. IndrajeetSingh
1. FileServer to support surrogate pairs outside BMP
PartialDS: SymTB10.1, DS.1489 PREQ2471 TI18N enhance EUser library to support Unicode 5.0
Requirements: PREQ2471 UTF-16 compliant text handling
Version 2.00.1999
=================
(Made by VincentF 11/08/2009)
1. MiguelB
1. DEFECT FIX: DEF141341: CFileCache::IsDirty() requires more locking
Version 2.00.1998
=================
(Made by Vino Jose 07/08/2009)
1. SophieY
1. DEFECT FIX: DEF141166: [FSrvPerf] Optimizations on RFs::Connect()
2. ChrisNotton
1. DEFECT FIX: DEF141421: File Relocation Changes may break components using kern_ext.mmh
Version 2.00.1997
=================
(Made by Vino Jose 04/08/2009)
1. MiguelB
1. DEFECT FIX: PDEF141350: Security Issue in File Server
Version 2.00.1996
=================
(Made by Vino Jose 03/08/2009)
1. MiguelB
1. DEFECT FIX: DEF140772: File server is not suspending MS device properly
2. NicholasC
1. MINOR_CHANGE: Fix t_notifydismount for Host USB Mass Storage
3. ChrisNotton
1. MINOR_CHANGE: Changed OS_LAYER_SYSTEMINCLUDE to OS_LAYER_SYSTEMINCLUDE_SYMBIAN.
4. MichaelCox
1. DEFECT FIX: DEF135837: ONB failures of T_ENCPLUGIN on NaviEngine
The encryption_plugin / xorencryptionplugin was trying to save a list
of encrypted files to the system drive. When the system drive was a ram disk
this was failing as plugins cannot write to drives which do not support local buffers.
Version 2.00.1995
=================
(Made by Vino Jose 28/07/2009)
1. MiguelB
1. DEFECT FIX: DEF139855: Dismountiing a file system with clamped files & dirty data behaves unexpectedly
Version 2.00.1994
=================
(Made by Vino Jose 21/07/2009)
1. NicholasC
1. DEF140849: RFs::GetMediaSerialNumber() panics with USB Ms drive
2. INC141147: Improper Mass Storage Error Code for Empty Drive
2. indrajeetsingh
1. DevCR: SLEH-7RDDHP Peripherals, GT0419 Base Duranduran, F32 to use FATCharsetConv plug-ins
The new file server plug-in framework enables variant creators to choose any load
code page dll to be explicitly without the need of any locale dll. A test code is
provided to create and load test cp932.dll explicitly.
Version 2.00.1993
=================
(Made by Vino Jose 20/07/2009)
1. DmitryL
1. FinalDS: SymTB9.2, GT0419, MS3.31, DS.1749 exFAT MasterSF release
Requirements: PREQ2083 Next generation file system
Other: Impacted Components 168 exFAT File System
Version 2.00.1992
=================
(Made by Vino Jose 14/07/2009)
1. SophieY
1. DEFECT FIX: PDEF140507: Fileserver misses intercepts for EFsFormatSubClose message
2. DEFECT FIX: DEF140718: Example code error in CFileMan document
3. DEFECT FIX: DEF140656: CFileMan::Copy and CFileMan::Move use wrong trace attributes.
4. DEFECT FIX: PDEF140677: ASSERT triggered in the FAT Directory cache Version
2. DmitryL
1. DEF140928 File server functionality is broken as a result of DEF138883
Version 2.00.1991
=================
(Made by Vino Jose 10/07/2009)
1. ChrisN
1. MILESTONE: SymTB9.2, GT0419, MS3.36, DS.1815 PREQ2621 System Architecture Relocating header files - K&HS support
Version 2.00.1990
=================
(Made by Vino Jose 08/07/2009)
1. FadhliMustaffa
1. DEFECT FIX: DEF140666: T_Notifier failure on sfdev intermittantly
Checked for no cache or write-through in CFsMessageRequest::DoNotify() for EFsFileWrite
Version 2.00.1989
=================
(Made by Vino Jose 02/07/2009)
1. MichaelCox
1. DEFECT FIX: DEF140552: No notification when moving file from non-monitored folder to monitored folder
With rename notifications, the destination was not being checked against the notification filter.
2. DEFECT FIX: DEF140566: F32 Notification framework panics when copying a file btn drives using CFileMan
From time to time CFsRequest.Message().Function returns the wrong thing. Changed to uise the preferred FsFunction.
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.
Whole path is sent to file server, so notification framework was looking at that rather than 'ignoring any filenames specified' as RFs::MkDirAll suggests.
Version 2.00.1988
=================
(Made by VincentF 26/06/2009)
1. DmitryL
1. DEFECT FIX: DEF138883: API RFile::Lock() fails for greater offset than 2^32
2. INTERFACE CHANGE: BR2806.1 SFileShareLock structure shall not be publishedPartner
2. FadhliMustaffa
1. DEFECT FIX: PDEF140556: Phone does not start up - Estart regression caused by DEF139400
Set pointer to EOF if line does not have '\n'
Also able to handle DOS/Unix estart.txt files with empty lines at the beginning
3. HenryGrant
1. DEFECT FIX: DEF139730: Coverity - UNINIT,REVERSE_INULL,OVERRUN_STATIC,FORWARD_NULL,DEADCODE
Fixed CIDS: 33678, 33674, 33698, 33749. Rest are rejected as False Positives
4. junwookkwak
1. DEFECT FIX: PDEF140510: Autodetection in estart ignore a drive insertted corrupt media
Propagated fixes from 9.4 branch.
5. NicholasC
1. MINOR CHANGE: Extend husbconsapp user interface to support multiple USB MS devices.
Version 2.00.1987
=================
(Made by Vino Jose 22/06/2009)
1. MichaelCox
1. DEFECT FIX: DEF140387: Clients of CFsNotify can receive two sucesssive overflow notifications
When re-issueing a request after overflow, the counters were not being updated correctly resulting in
a potential for successive overflow notifications.
2. KaiD
1. DEFECT FIX: DEF135563: File creations should avoid unnecessary DoRummageDirCacheL() operation
Version 2.00.1986
=================
(Made by Vino Jose 19/06/2009)
1. MiguelB
1. DEFECT FIX: DEF140435: File Server plugins intercepting EFsFileSubClose can cause a KERN-EXEC 44
Version 2.00.1985
=================
(Made by Vino Jose 19/06/2009)
1. NicholasC
1. MINOR CHANGE: Change to use quick format in t_scn32dr1.cpp (f32test)
2. MINOR CHANGE: Remove unused Format() from t_sess.cpp (f32test)
2. MiguelB
1. DEFECT FIX: PDEF140320: PPIA-7SF8Z5 Claendar content disappear when using MfE
2. DEFECT FIX: DEF139855: Dismountiing a file system with clamped files & dirty data behaves unexpectedly
3. INTERFACE CHANGE: BR2820.1 Prevent three internal TDrive methods from being exported unnecessarily
3. NeilClifford
1. MILESTONE: SymTB10.1, GT0472, MS3.6, DS.1737: PREQ1967 Embedded MMC v4.3
4. JessieZh
1. DEFECT FIX: PDEF140211: estart log does not give enough information
Version 2.00.1984
=================
(Made by Vino Jose 12/06/2009)
1. OliverStuart
1. MINOR CHANGE: CR1970: Adding missing S60 distribution files and correcting IDs.
2. MINOR CHANGE: CR1994: Updating incorrect copyright headers.
3. MINOR CHANGE: CR1970: Removing orphaned S60 distribution files copied from symtb91.
Version 2.00.1983
=================
(Made by Vino Jose 11/06/2009)
1. MiguelB
1. DEFECT FIX: DEF139382: File Server memory leak
2. KaiD
1. DEFECT FIX: PDEF139239: CFileMan async functions not clear what happens on error
3. NicholasC
1. MINOR_CHANGE: Remove unused file - /f32test/server/t_std.h
2. MINOR_CHANGE: Move FsBarrier definition to /f32test/fileutils/src/fs_utils.cpp
4. GayathriR
1. MILESTONE: SymTB10.1, GT0472, MS3.8, DS.1751 EI0038: USB Mass Storage Client Shared Memory Chunks
Engineering Changes: EI0038 USB Mass Storage Client Shared Memory Chunks
Version 2.00.1982
=================
(Made by Vino Jose 08/06/2009)
1. FadhliMustaffa
1. DEFECT FIX: PDEF139900: ESTART.TXT parsing does not cope with linux-style line endings
Checked for DOS line ending to support both DOS and Unix formats
Note that variants need to be rebuilt if Unix-style estart.txt files are to be used
Version 2.00.1981
=================
(Made by Vino Jose 02/06/2009)
1. SivashankarN
1. DEFECT FIX: DEF139176: Remove unused API defined for EFsRawDiskCaps
2. FrankHofmann
1. DEFECT FIX: DEF135405: FS Tests assume presence of media devices
Modify f32 test framework code to give human-readable errors as well as numerical error codes
for situations where previous tests have hung / corrupted media and/or where
corrupted/defective media have been detected.
2. MINOR_CHANGE: Add RUNEXEC command to text shell.
For manual testing, to reproduce intermittend failures.
Invokes a command repeatedly. See "RUNEXEC /?" for instructions.
3. NicholasC
1. MINOR_CHANGE: f32test re-org. Move FAT tests to /f32test/filesystem/fat
4. KaiD
1. DEFECT FIX: DEF139837: t_ms_mountstart fails
Version 2.00.1980
=================
(Made by Vino Jose 01/06/2009)
1. DmitryL
1. DEFECT FIX: PDEF139441 File Server heap corruption caused by CDirCache
2. MiguelB
1. DEFECT FIX: PDEF139326: Ejecting memory card can cause deadlock
3. JohnS
1. MILESTONE: SYMTB9.2, Base Duranduran, GT0419, MS3.26, PREQ2540: Kernel & HWS: Prepare "LFFS" NOR Flash File System TPIP for Symbian Foundation
2. INTERFACE CHANGE: BR2729.2 Removal of lffs file system and lffs specific tests
Version 2.00.1979
=================
(Made by Sergei Trofimov 28/05/2009)
1. sergeitrofimov
1. PREQ2621, DS.1698: relocating header files.
1. AndreiMironenko
1. DEFECT FIX: DEF137804: T_FSYS fails on 34XX_SDP.ARMV5
Version 2.00.1978
=================
(Made by Vino Jose 20/05/2009)
1. SamiraA
1. MILESTONE: SymTB10.1, GT0472, MS3.3, DS.1579 PREQ1847: Enhanced File Server change notification
Requirements:
PREQ1847 Enhanced File Server change notification
2. indrajeetsingh
1. DEFECT FIX: PDEF137716 : TTG:<On moving a FOLDER, FOLDER will be disappeared>
2. DEFECT FIX: PDEF137719 : TTG:<wrong error code on moving folder>
Version 2.00.1977
=================
(Made by GeorgeSin 19/05/2009)
1. MiguelB
1. DEFECT FIX: DEF139010: File Server faults if trace LDD missing
2. DEFECT FIX: DEF139382: File Server memory leak
Version 2.00.1976
=================
(Made by George Sin 12/05/2009)
1. MiguelB
1. DEFECT FIX: DEF138141: RFs::Entry flushes the file cache unnecessarily
2. DEFECT FIX: DEF138853: Asynchronous read request handling is not multi-thread safe
2. ChrisNotton
1. DEFECT FIX: DEF136928: T_FSCHED fails on UDEB versions of 34XX_SDP in BTB
Version 2.00.1975
=================
(Made by George Sin 07/05/2009)
1. ChrisNotton
1. DEF138336: SMP + Data Paging T_REAPER I fails: failed check at line number 256
Version 2.00.1974
=================
(Made by George Sin 29/04/2009)
1. NicholasC
1. DEFECT FIX: DEF137917: usbhostmssrv.exe panic sometimes plug in and pull out USB flash disk
2. DEFECT FIX: PDEF134548: Host mass storage test on locking/unlocking media test fails
2. OliverStuart
1. DEF138332: SMP + Datapaging T_FSCHED I fails:T_FSCHED failed check 21 in \os\kernelhwsrv...
TestClientDies does not wait for all I/O operations initiated by the threads it
kills to finish before calling CheckDisk so the the disk is locked. We now use
CLOSE_AND_WAIT with a destruction notifier to ensure completion.
Version 2.00.1973
=================
(Made by George Sin 28/04/2009)
1. MichaelCox
1. MINOR_CHANGE: Change description in sl_std.h from f32 to fileserver
Version 2.00.1972
=================
(Made by George Sin 21/04/2009)
1. FrankHofmann
1. DEFECT FIX: DEF135638 T_FALSESPACE fails on NE1_TB.ARMV5
2. NicholasC
1. DEFECT FIX: DEF138395: husbconsapp test app doe not support discconnect of multiple LUNs or devices
3. ChrisN
1. MILESTONE: GT0419,Base Duranduran,MS3.22 PREQ2498 Splitting mixed header files
PREQ2498 Splitting "mixed" header files - Kernel & Hardware Services
CR1944 PREQ2498 "Splitting "mixed" header files - Kernel & Hardware Services" to scope of SymTB
Interface Changes:
BR2748.10 Splitting "mixed" header files - Kernel & Hardware Services (F32)
Version 2.00.1971
=================
(Made by GeorgeSin 17/04/2009)
1. NicholasC
1. DEV CR: SLEH-7NCEGZ: Kernel, GT0419 Base Duranduran, Create new USB testclient and Host test suite
Version 2.00.1970
=================
(Made by GeorgeSin 14/04/2009)
1. DmitryL
1. MINOR_CHANGE: pulling restricted\exfat branch from the old dev1 into sfdev
2. MiguelB
1. DEFECT FIX: PDEF137626: Connectivity: Phone reboots automatically when connecting to PC via USB after pl
Version 2.00.1969
=================
(Made by GeorgeSin 09/04/2009)
1. DmitryL
1. DEFECT FIX: DEF136692 ScanDrive shall finalise the drive after successul run.
2. DEFECT FIX: DEF137590 emulator elocal.fsy shall detect windows file system used as emulator drive C:
Version 2.00.1968
=================
(Made by GeorgeSin 08/04/2009)
1. FadhliMustaffa
1. DEFECT FIX: DEF137105: Duplication of header files in sf_svr.cpp.
Version 2.00.1967
=================
(Made by GeorgeSin 23/03/2009)
1. DmitryL
1. DEFECT FIX: DEF136511 CDataCache64 and CLruCache code in FAT implementation is redundant.
2 NicholasC
1. DEFECT FIX: DEF136708: Host USB Mass Storage panics t_notifydismount
2. DEFECT FIX: DEF136710: Host USB Mass Storage Size of partitioned drive is incorrect
3. AndreiMironenko
1. DEFECT FIX: DEF135299 t_fsys fails on lubbock, integrator and some other platforms
Version 2.00.1966
=================
(Made by George Sin 18/03/2009)
1. AndreiMironenko
1. DEFECT FIX: PDEF136759: t_ramstress should not be included in f32test.auto.bat
Version 2.00.1965
=================
(Made by George Sin 13/03/2009)
1. JessieZhang
1. DEFECT FIX: PDEF136339: Incorrect length parameter checking in File Server
2. AndreiMironenko
1. Milestone: Base Meteora, GT0339, MS3.21, DS.1449 PREQ1235 Remove "SSR" Flash Translation Layer
3. OliverStuart
1. DEFECT FIX: DEF133800: T_LDRTST times out
The kernel heap leak reported is that of a misc notifier (runtests makes a call to NotifyDestruction)
that is only deleted after EFile has already called HeapMarkEnd. The memory is not really leaked.
Runtests now allocates the destruction notifier early so that it will not affect the kernel heap's
memory leak checking because it will be allocated before any HeapMarkStart.
4. NicholasC
1. DEFECT FIX: DEF136360: Host USB Mass Storage: CUsbHostMsProxyDrive::Initialise() should check for media
2. DEFECT FIX: DEF135931: Host Mass Storage USB fails USB client tests
5. DmitryL
1. DEFECT FIX: DEF136225: void CFatMountCB::InitializeL() shall check the amount of cluster on the volume
2. MINOR_CHANGE: Updated F32 performance tests scripts
6. HenryGrant
1. DEFECT FIX: PDEF136028: USB mass storage system wide deadlock
Version 2.00.1964
=================
(Made by GeorgeSin 10/03/2009)
1. NeilClifford
1. DEFECT FIX: PDEF134733: ONB F32 test failures on onenand platform (on MMC drive accesses)
2. KaiD
1. DEFECT FIX: DEF134135: Changing the settings for the directory cache in estart.txt doesn't work
2. MINOR_CHANGE: Updated test code t_fman.cpp to aviod intermittent failures on emulator platform.
3. TomCosgrove
1. DEFECT FIX: PDEF134764: "Fuzzing by truncation" test is not executed for an internal drive
Add line to set target drive to the internal drive before the appropriate test.
4. MichaelCox
1. DEFECT FIX: DEF135502: SMP unsafe calls in LFFS
Was trying to use a stack variable between two threads. Wasn't waiting for the client-side thread
handle to be cleared before trying to recreate threads with the same name.
Version 2.00.1963
=================
(Made by GeorgeSin 27/02/2009)
1. KaiD
1. MINOR_CHANGE: Updated documentation of CFileMan for 'low memory' conditions.
"Note:
To support wildcard, CFileMan uses heap memory to store all directory entries
from a single directory. Therefore, in a extreme condition, if a directory contains
a huge number of files (e.g. more than 15000 files with 10 characters' long file
names), user may encounter KErrNoMemory errors. Developers who have a need to handle
this very rare case should increase the heap size limitation of their applications.
For more information about heap size configuration, please refer following
section in Symbian Developer Library:
Symbian OS build guide >> Build Tools Reference >> MMP file syntax >> epocheapsize"
2. MINOR_CHANGE: Updated Base_Functional_Specification.doc for PREQ1885 delivery.
2. DmitryL
1. DEFECT FIX: DEF133904: Loader vunerability
Version 2.00.1962
=================
(Made by JohnS 10/02/2009)
1. KaiD
1. DEFECT FIX: PDEF134667: TTG:<Wild card characters cannot be handled in the short file names>
2. NicholasC
1. DEFECT FIX: PDEF134640: t_rcache fails with Host USB MS drive
Version 2.00.1961
=================
(Made by NicholasC 04/02/2009)
1. indrajeetsingh
1. DEF133041: t_fatcharsetconv.exe fails with inter-op testing
2. DEF133076: Inconsistent test pattern in t_fatcharsetconv
Version 2.00.1960
=================
(Made by Kai Duan 29/01/2009)
1. MahantappaPatil
1. MINOR_CHANGE: Removed "interop_test" from EXFAT tests due to some restrictions.
2. FrankH
1. DEFECT FIX: DEF130206: t_format fails on lubbock k drive
3. RajivM
1. DEFECT FIX: PDEF133084:File Server: IsValidName returns wrong result
2. DEV CR:KNOI-7F3FU9: An existing API: "TBool IsValidName(const TDesC &anEntryName)" implicitly takes into
account the default session path when it verifies the given filename. The existing
"TBool IsValidName(const TDesC &anEntryName)" API shall be re-implemented on the basis of a new API
TBool RFs::IsValidName(const TDesC& aName, TNameValidParam& aParam )
4. JessieZhang
1. DEFECT FIX: DEF131667: Incorrect length parameter checking in File Server
5. MiguelB
1. MILESTONE: Sphinx, GT0339, MS3.25, DS.1494 PREQ1617: Instrument file server
6. DmitryL
1. MINOR_CHANGE: Eshell extended by adding 'mount' command, which allows mounting and dismounting
file sytems from the command prompt.
2. DEFECT FIX: PDEF133607 t_mount skips TestFinaliseFS() test in UREL build
3. DEFECT FIX: PDEF133608 setting volume finalisation flag in FAT[1] shall be configurable for FAT16
7. MariamSood
1. DEFECT FIX: DEF133456: Typo in the parameter of __ASSERT_ALWAYS
8. GavinCochrane
1. DEFECT FIX: DEF132082: Panic "CSessionFs" is missing in documentation
Version 2.00.1959
=================
(Made by DeleOgunjumelo 15/01/2009)
1. DmitryL
1. DEFECT FIX: DEF132841 The returned value of the RFile64::Write from WINSCW is not same as ARMV5
2. NicholasC
1. DEFECT FIX: DEF131893: t_ext1 hangs with USB Host MS drive
3. MahantappaPatil
1. MINOR_CHANGE: Fixed issue related to f32_perf_tests not running as PREQ1885 tests scripts were also
required for H2 platform. Existing script file names are modified with suffix _H4 and similar scritps
are added for H2. The documentation FS Performance Test Suite Description.doc is also updated with this.
Version 2.00.1958
=================
(Made by fabiangortz 07/01/2009)
1. indrajeetsingh
1. DEFECT FIX: DEF131967: F32TEST T_FMAN.EXE fails on WINS/WINSCW FAT drives
Version 2.00.1957
=================
(Made by Tom Cosgrove 02/01/2009)
1. DmitryL
1. DEFECT FIX: DEF131949 coverity issue in FAT code delivered by PREQ 1885
2. TomCosgrove
1. DEFECT FIX: DEF132210: [System Build]: Case issues in bld.inf causing build failures on linux, F32test
Change name of directory plugins/version_2/CryptoEncryption to plugins/version_2/crypto_encryption.
Version 2.00.1956
=================
(Made by LukaszForynski 19/12/2008)
1. RichardCo
1. MINOR_CHANGE: Mark more binaries as SMPSAFE
2. DmitryL
1. DEFECT FIX: DEF131092 One of Writing functions of RFile64 returns wrong value
2. Milestone: Diran, GT0419, MS3.7, DS.1199 Next Generation File System
Requirements: PREQ2083 Next Generation File System
3. RichardCo
1. MILESTONE: Diran GT0364 - SMP MS3.1.3 DS.1454 PREQ1945 Basic SMP Compatibility Mode
NaviEngine roms can be built with -d SMPCOMPATMODE to enable compatibility mode.
In compatibility mode, any usermode binary which lacks the SMPSAFE flag will force
the process it is loaded into to execute only on core 0.
Version 2.00.1955
=================
(Made by DmitryL 11/12/2008)
1. SamiraA
1. DEFECT FIX: PDEF130334: Cannot create a file with "\u3005" name correctly
2. indrajeetsingh
1. DEFECT FIX: DEF130678: CFileMan is leaking memory
3. VincentF
1. DEFECT FIX: DEF130916: [Coverity]-SYMBIAN.CLEANUP_STACK -base/f32/sfile
4. ArunachalamR
1. DEFECT FIX: DEF130917: TFsFileWrite::CommonEnd() should treat file size as unsigned long long
Function signature and implementation is modified to treat file size as unsigned long long
Union implementation in CFileCache is removed.
5. KaiD
1. Milestone: Diran, GT0419, MS3.3, DS.1325 Kernel: Improved FAT performance for large numbers of files
Requirements:
PREQ1885 Improved FAT performance for large numbers of files
Symbian Variability:
#define SYMBIAN_ENABLE_FAT_DIRECTORY_OPT
(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.
(DS1325.2. Implemented new directory caches for FAT volumes, the new cache adopts the Memory Manager/Client framework for dynamic cache size allocation.)
(DS1325.3. Optimised current usage of FAT directory caches. )
6. DmitryL
1. DEFECT FIX: PDEF131470 Attributes, date, time of copied files are changed because of file cache flush
7. NicholasC
1. DEFECT FIX: DEF131311: [Coverity] Errors reported in Host Mass Storage
2. DEF131305: Block reads can fail with SanDisk Card reader b_fat32
8. ReubenH
1. MINOR_CHANGE: Added SMPSAFE to a carefully-selected, MarkH-approved subset of Base projects.
9. JessieZhang
1. DEFECT FIX: DEF130390: [Coverity] Issues CID 1048 and 1049 to be reinvestigated...
10. MiguelB
1. DEFECT FIX: DEF131384: ROFS Directory Cache not robust against changes to heap allocation algorithm
Version 2.00.1954
=================
(Made by AnatolyP 04/12/2008)
1. AnatolyP
1. MILESTONE: Diran GT0364 - SMP MS3.1.1 DS.1410 PREQ1945: SMP kernel prototype support for Cortex A9 processor
2. MILESTONE: Diran GT0364 - SMP MS3.1.2 DS.1439 PREQ1945: Prototype Run Mode Debug
3. MILESTONE: Diran GT0364 - SMP MS3.2.5 (DS1419) PREQ1994: ARM11 MPCore SMP BSP: NAND
4. INTERFACE CHANGE: BR2572.1 New virtual method DLogicalChannel::SendMsg
Version 2.00.1953
=================
(Made by AnatolyP 02/12/2008)
1. DmitryL
1. DEFECT FIX: DEF130178: ReserveDriveSpace function in RFs Class can't get result to be expected
2 NicholasC
1. DEFECT FIX: DEF131057: Hang when accessing memory beyond media's address size using SanDisk
Version 2.00.1952
=================
(Made by indrajeetsingh 27/11/2008)
1. NicholasC
1. DEFECT FIX: DEF127908: F32Tests fail with Host USB Mass Storage
2. MiguelB
1. DEFECT FIX: PDEF130659: More issues with MMC card removal
3. SivashankarN
1. DEFECT FIX: DEF130905: which category does \base\f32\shostmassstorage\ belong to?
4. NicholasC
1. DEFECT FIX: PDEF130023: RFs::Drive returns valid data when a drive is mounted for USB mass storage
5. DmitryL
1. DEFECT FIX: PDEF130213 TTG:<wrong description in Developer's library as to folder depth>
6. indrajeetsingh
1. DEFECT FIX: DEF130404: asynch move behaves differently when src path doenst exist
2. DEFECT FIX: DEF128965: T_FMAN fails when run with other f32tests on 4GB SD Card
7. NeilClifford
1. DEFECT FIX: DEF130396: SMP: Efile panic when run crypto SMP multicore test
8. JessieZhang
1. DEFECT FIX: PDEF129836: Fail to create a file with "IDEOGRAPHIC SPACE(\u3000)" name
2. DEFECT FIX: DEF130324: TFormatMode documentation is incorrect
9. MiguelB
1. DEFECT FIX: PDEF130503: SMP: File server request completion isn't SMP safe
10. SivashankarN
1. INC130429: [OTG] Wrong IPC Argument in RUsbHostMsDevice
Version 2.00.1951
=================
(Made by SivashankarN 14/11/2008)
1. TomCosgrove
1. MINOR_CHANGE: Fix punctuation error in doc comments on RFile*::AdoptFromServer()
Comma at end of sentence should be full stop.
2. MINOR_CHANGE: Print out failure reason within GetLFFSControlModeSize() in T_CHLFFS
to help determine cause of DEF130206 t_format fails on lubbock k drive.
Version 2.00.1950
=================
(Made by DaveGordon 12/11/2008)
1. MiguelB
1. DEFECT FIX: PDEF129507: SPPR_REL: Phone freezes when memory card removed during recording
2. TomCosgrove
1. MINOR_CHANGE: Fix incorrect non-doxygen comment on LocaleUtils::IsLegalShortNameCharacter()
Original comment describing the method had been copied from LocaleUtils::ConvertFromUnicodeL()
Version 2.00.1949
=================
(Made by Vino Jose 31/10/2008)
1. ArunachalamR
1. MileStone: Diran, GT0419, MS3.6, DS.1176, PREQ1725 64 Bit File Server
Symbian Variability: SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
BR2477.1 Affected clients of RFile should explicitly enable 64-bit file
support to allow access to files beyond the 2GBytes boundary, and migrate to
using TInt64 offsets and the new RFile::Seek64/RFile::Size64 API's where appropriate.
Clients who have not migrated need to ensure they handle the error KErrTooBig
2. KaiD
1. Milestone: Sphinx, GT0339, MS3.18, DS.1254 CR1271: Kernel & HW: Improve File Server test coverage for non-european languages
Change Requests: CR1271 Improve File Server test coverage for non-european languages
Version 2.00.1948
=================
(Made by ReubenH 27/10/2008)
1. DmitryL
1. DEFECT FIX: PDEF129419 F32 file name checksum calculation is not optimal
2. MichaelCox
1. DEFECT FIX: DEF129320: TF32ArgType should be publishPartner and Released.
Fix for INC128291: TF32ArgType is in the global namespace and clashes with existing enums, moved TF32ArgType
to f32plugin.h, which is declared as @file internalTechnology, whereas before TF32ArgType was publishPartner.
Also, TFsPluginRequest::Function and DriveNumber have been made publishPartner as they are needed by plugin authors.
Version 2.00.1947
=================
(Made by NeilClifford 17/10/2008)
1. KaiD
1. Development CRs: MZAI-7JRKFL New CFileMan Test Framework
2. patrickconway
1. DEFECT FIX: DEF128392: T_FSYS fails when querying block-size information of large-block NAND devices
3. JessieZhang
1. DEFECT FIX: PDEF128029: Panic code documentation for RFs::ReadFileSection() is not correct
4. MichaelCox
1. DEFECT FIX: DEF128682: Base not building with RVCT 3.1
5. DmitryL
1. DEFECT FIX: PDEF128860 TTG:< the file becomes deleted when a file would be renamed >
Version 2.00.1946
=================
(Made by NicholasC 14/10/2008)
1. KaiD
1. DEFECT FIX: PDEF128576: Unicode name file deleted after Scandrive
2. dharmeshgandhi
1. DevCR: Peripherals, GT0339 Base Meteora, Reference file server plug-in,
The new file server plug-in framework enables third party suppliers to write their own file modifier plug-ins .
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.
A management application shall be delivered and shall basically load/unload plug-ins, etc
Version 2.00.1945
=================
(Made by KaiD 13/10/2008)
1. KaiD
1. Milestone: Diran, GT0419, MS3.13, DS.1130 Improved FAT performance for large numbers of files
Requirements:
PREQ1885 Improved FAT performance for large numbers of files
Symbian Variability:
#define SYMBIAN_ENABLE_FAT_DIRECTORY_OPT
Version 2.00.1944
=================
(Made by SivashankarN 08/10/2008)
1. DmitryL
1. DEFECT FIX: PDEF128466: TTG:<two files with the exactly same short file name erroneously exist>
2. SivashankarN
1. DEFECT FIX: DEF127652: [MS] Host can't recover gracefully from USB device removal during data transfer
Version 2.00.1943
=================
1. MichaelCox
1. DEFECT FIX: INC128291: TF32ArgType is in the global namespace and clashes with existing enums
2. RichardCo
1. DEFECT FIX: PDEF128520: SWI-installed KDLL (statically linked to LDD) does not get loaded
Loading a kernel-side library which is linked to another kernel side library
was not possible if the dependent had static data.
Version 2.00.1942
=================
(Made by MichaelMo 02/10/2008)
1. SivashankarN
1. DEFECT FIX: DEF128289: Template roms cant be built
2. AnatolyP
1. DEFECT FIX: PDEF127937: TTG:<a invalid character can be set on the volume label>
Version 2.00.1941
=================
(Made by SebOlney 24/09/2008)
1. patrickconway
1. DEFECT FIX: DEF114282: Multiple intermittent F32TEST failures on Integrator
Version 2.00.1940
=================
(Made by georgiosdementis 22/09/2008)
1. MichaelCox
1. DEFECT FIX: DEF127677: TFsPluginRequest::FileName( ) does not work in some scenarios
2. JessieZhang
1. DEFECT FIX: DEF127010: eshell 'copy' command not working correctly for single files
3. SivashankarN
1. GT0399 MS3.15 DS1031 PREQ1577: USB Host Mass Storage
Version 2.00.1939
=================
(Made by georgiosdementis 12/09/2008)
1. MichaelCox
1. DEFECT FIX: DEF126881: TFsPluginRequest::Src() faults in EFsDirReadOne and EFsDirReadPacked intercept
2. DEFECT FIX: DEF126581: Enchanced file server plugin test failures relating to LFFS and readfilesection
3. DEFECT FIX: DEF127407: CFsObject::Name returns NULL when TName is expected.
2. DmitryL
1. DEFECT FIX: PDEF127147 RFile::SetModified does not take effect by RFile::Flush()
2. DEFECT FIX: PDEF126981 TTG:<CheckDisk error is raised after having Renamed a file or folder>
3. MINOR_CHANGE: F32 tests tidy up
3. AnatolyP
1. DEFECT FIX: PDEF127162 SPPR_REL: DUT is shut down automatically when tapping continuously 'Retry'
2. DEFECT FIX: PDEF127207 Video sharing:Phone reboot when unpluging memory card in Video sharing state.
4. ArchanaH
1. DEFECT FIX: DEF124775: If (lockposition+locklength)> 2GB -1, then RFile::Lock() returns KErrNone.
5. MiguelB
1. DEFECT FIX: PDEF127286: Inc9 POD: The phone reboots or hangs up after plugging USB while downloading an
6. GeorgeS
1. DEFECT FIX: DEF127529 eshell gives -21 instead -11, while md folder name is same as file name
7. KaiD
1. DEFECT FIX: PDEF127641: FAT/FAT32: unable to open or delete file whose name contains illegal characters
8. indrajeetsingh
1. DEFECT FIX: DEF127074: t_FMAN fails on large cards
Version 2.00.1938
=================
(Made by georgiosdementis 05/09/2008)
1. JessieZhang
1. DEFECT FIX: DEF125362: Emulator drive C reports media type as RAM
2. MichaelCox
1. DEFECT FIX: PDEF127294: t_ext1 has warnings and fails with PDEF122991 fix
2. DEFECT FIX: DEF126584: Enhanced file server plugin test failures when calling AddPlugin
3. GeorgeSin
1. DEFECT FIX: DEF126404: [coverity] - many different coverity issues found at /f32/sfile/
Version 2.00.1937
=================
(Made by georgiosdementis 29/08/2008)
1. JessieZhang
1. DEFECT FIX: DEF126690: runtests doesn't warn users that it's going to panic on purpose
2. AndreasP
1. DEFECT FIX: DEF126257: eshell copy file to same folder should return error message.
3. AttilaV
1. MINOR CHANGE: Update Base Functional Specification with CR1258
Version 2.00.1936
=================
(Made by indrajeetsingh 26/08/2008)
1. JessieZhang
1. DEFECT FIX: DEF126397: [Coverity]- DELETE_ARRAY - /f32/slffs/
2. DEFECT FIX: DEF126398: [Coverity]- OVERRUN_STATIC - /f32/smassstorage/
2. GeorgeSin
1. DEFECT FIX: DEF126395 [Coverity]- SYMBIAN.CLEANUP_STACK - /f32/scomp/
2. DEFECT FIX: DEF126396 [Coverity]- EVALUATION_ORDER - \f32\sfat32
Version 2.00.1935
=================
(Made by MichaelCox, 20/08/2008)
1. DmitryL
1. DEFECT FIX: DEF125490: Damaged MMC card causes ASSERT in FAT implementation
2. KaiD
1. DEFECT FIX: PDEF126260: Japanese name directory without VFAT entry fails to access
3. MichaelCox
1. GT0399 MS3.16 DS1030 PREQ1111: Peripherals: Enhanced F32 plug-in framework
Version 2.00.1934
=================
(Made by patrickconway, 15/08/2008)
1. MichaelCox
1. DEFECT FIX: DEF126548: Typo in comment for class THMem
2. VincentF
1. DEFECT FIX: DEF126477: Is f32test/demandpaging test or production
3. GayathriR
1. DEFECT FIX: PDEF126203: CMassStorageMountCB::MountL handles missing media in wrong way
4. AndreasP
1. DEFECT FIX: DEF126257: eshell copy file to same folder should return error message.
5. patrickconway
1. DEFECT FIX: DEF126307: T_FILEMATCH doesn't check return codes
Version 2.00.1933
=================
(Made by JohnS, 15/08/2008)
1. KaiD
1. MINOR CHANGE: Fixed X86GCC build errors in t_dirs.cpp
2. MiguelB
1. DEFECT FIX: PDEF126145: T_DemandPaging failures cause t_filecache failure.
2. DEFECT FIX: DEF124458: Formating an SD card with an existing illegal partition table can fail
3. NeilC
1. DEFECT_FIX: DEF125019: [coverity] - CHECKED_RETURN - base/f32/sfile
4. indrajeetsingh
1. DEFECT_FIX: DEF125570: src dir is not deleted after Move if trg has the same src dir already existing
Version 2.00.1932
=================
(Made by ReubenH, 04/08/2008)
1. MichaelCox
1. DEFECT FIX: DEF125673: Undocumented position parameter in RFs::MountPlugin
2. KaiD
1. DEFECT FIX: DEF125143: Inconsistency found in dir creations when containing trailing dots and spaces
Version 2.00.1931
=================
(Made by fabiangortz, 24/07/2008)
1. GayathriR
1. DEFECT FIX: DEF125010: [coverity] - OVERRUN_STATIC - base/f32/sfile/sf_drv.cpp
2. DmitryL
1. DEFECT FIX: DEF125009 [coverity] - OVERRUN_STATIC - base/f32/sfat32
3. KaiD
1. DEFECT FIX: DEF125015: [coverity] - REVERSE_INULL - base/f32/sfile
4. MiguelB
1. DEFECT FIX: PDEF124959: Phone freezes when memory card is removed during recording
5. indrajeetsingh
1. DEFECT FIX: DEF124051: Can not compile f32test - t_readdist test
6. MichaelCox
1. DEFECT FIX: DEF115913: File System Plugins ignore the Mounted Drive attribute
7. LaneR
1. MINOR_CHANGE: Changed ldrtst makefile to propagate bldmake bldfiles platform type to enable building for ARMv6
Version 2.00.1930
=================
(Made by fabiangortz, 21/07/2008)
1. RichardCo
1. DEFECT FIX: DEF125008: [coverity] - FORWARD_NULL - base/f32/sfile
2. TomCosgrove
1. DEFECT FIX: DEF125011: [coverity] - OVERRUN_STATIC - base/f32/sfile/sf_local.cpp
Replace "<= KMaxPBusSockets" with "< KMaxPBusSockets" to fix off-by-one.
Version 2.00.1929
=================
(Made by RichardCo, 17/07/2008)
1. RajivM
1. DEFECT FIX: DEF123575: CFileMan::Move() returns KErrNone even with unsuccessful move operation.
2. GayathriR
1. DEFECT FIX: PDEF124744: Return value is not checked in CUsbMsFileSystem::InitThreadL()
3. RichardCo
1. DEFECT FIX: PDEF125108: BC error: BC problem with third party application PocketTODO
Loader was not correctly handling uncompressed or bytepair compressed executables
on removable media when paging is enabled.
Version 2.00.1928
=================
(Made by LukaszF, 15/07/2008)
1. NicholasC
1. DEFECT FIX: PDEF124150: USB - Lumiere fails USBCV MSC Mass Storage test in both FS and HS modes
2. VincentF
1. DEFECT FIX: PDEF124805: TFindFile::DoFindByDir is inefficient
3. TomCosgrove
1. DEFECT FIX: DEF121020: Typographical error in sf_request.cpp
Changed "if (r |= KErrNone)" to "if (r != KErrNone)
Version 2.00.1927
=================
(Made by KaiD, 09/07/2008)
1. ArchanaH
1. DEFECT FIX: DEF123645: etshell doesn't handle file sizes > 2GB
Version 2.00.1926
=================
(Made by DmitryL, 07/07/2008)
1. DmitryL
1. DEFECT FIX: DEF123582 FAT32 PREQ1721 enhancements require better support in FileServer
2. ArchanaH
1. DEFECT FIX: DEF123044: Request status value for negative scenarios are not handled properly in CFileMan
2. DEFECT FIX: DEF123645: etshell doesn't handle file sizes > 2GB
3. KaiD
1. DEFECT FIX: PDEF124082: Directories/files with non-latin names are not listed in dialogs and file browse
Version 2.00.1925
=================
(Made by NicholasC, 23/06/2008)
1. NicholasC
1. DEFECT FIX: PDEF123999: USB Mass Storage WHQL Test failure (Disk Stress) with double buffering
Version 2.00.1924
=================
(Made by indrajeetsingh, 20/06/2008)
1. MiguelB
1. DEFECT FIX: PDEF123403: t_cfstest.exe for some larger SD Cards
This defect was re-opened to cater for reported problems with Panasonic 8GB cards.
A timeout in the test has been increased.
Version 2.00.1923
=================
(Made by patrickconway, 17/06/2008)
1. VincentF
1. DEFECT FIX: PDEF123681: Calculation of transfer rate is not correct in f_sysbm
2. indrajeetsingh
1. DEFECT FIX: DEF121663: Moving a directory returns failure eventhough the directory is moved.
Version 2.00.1922
=================
(Made by deleogunjumelo, 11/06/2008)
1. MiguelB
1. DEFECT FIX: PDEF123403: t_cfstest.exe for some larger SD Cards
2. DEFECT FIX: DEF123449: File Server memory leak
2. DmitryL
1. DEFECT FIX: PDEF123410 File server panic due to error of DeleteNotify() even when platsec disabled
3. SharathK
1. MINOR_CHANGE: Reframed the documentation fix of DEF120050 to improve the quality
Version 2.00.1921
=================
(Made by JohnS, 05/06/2008)
1. AndrewHi
1. DEFECT FIX: T_Format Test5 not properly supported for all LFFS media
2. MichaelCox
1. DEFECT FIX: DEF121566: t_ext1 test fails after several runs
3. KaiD
1. DEFECT FIX: DEF122894: Defect in RFs GetDir() API
Version 2.00.1920
=================
(Made by RichardCo, 01/06/2008)
1. RajivM
1. DEFECT FIX: DEF119140: wrong file name had been created in case of including Japanese character
2. ArchanaH
1. DEFECT FIX: DEF119141: long filename is not created in case of including Japanese character
3. SharathK
1. DEFECT FIX: DEF120050: CFIleMan::Copy() returns "KErrNone" instead of "KErrDiskFull"
Version 2.00.1919
=================
(Made by ParameshwariB, 23/05/2008)
1. MichaelCox
1. DEFECT FIX: PDEF121816: ESTART calls InitCompositeFileSystem() in wrong place
2. SebOlney
1. DEFECT FIX: PDEF122770: Password Store Exceeded
3. RichardCo
1. DEFECT FIX: PDEF122835: ONB: wstest_t_autotest.script crashes on H4 / times out on WinSCW
Make loader safely fail when asked to load a binary whose name is the empty string.
4. TomCosgrove
1. MINOR_CHANGE: Fix spelling in comments: it's "whether", and not "wether" (and rarely "weather")
Corrections made in several files throughout base code.
5. PhilipSturdy
1. Change Request: CR1266: Implemented Delete On Close extension to RFile file creation methods (#1240403)
2. Minor fix (#1244079) to t_file relating to a race on subset of test hardware due to CR1266 check in.
Version 2.00.1918
=================
(Made by SivashankarN, 19/05/2008)
1. NicholasC
1. DEF118967: CBulkOnly transport does not connect to all LUNs.
2. MichaelCox
1. DEFECT FIX: DEF121566: t_ext1 test fails after several runs
3. patrickconway
1. DEFECT FIX: PDEF122384: E32test and F32test issues (SD / F32)
4. DmitryL
1. DEF121859: ScanDrive badly handles large amount of lost clusters
Version 2.00.1917
=================
(Made by LukaszF, 09/05/2008)
1. MichaelP
1. PDEF122074: USB Mass Storage driver crashes in certain situations
Changed the USB Mass Storage driver such that function
CBulkOnlyTransport::ReadAndDiscardData() doesn't use any longer the main Read
buffer iReadBuf (the not-readiness of which caused the defect) but instead
the new dedicated small buffer iDiscardBuf.
2. JohnS
1. MINOR_CHANGE: Remove unnecessary code from t_nandmisc.cpp.
3. DmitryL
1. DEFECT FIX: PDEF120775: FAT volume remonting does not notice FAT table changes.
2. DEFECT FIX: DEF119115 Unreliable code in FAT implementation
3. DEFECT FIX: DEF122067 Fat32 bit cache populating thread work is not optimal
4. BhaskarR
1. DEFECT FIX: DEF121829 Duplicate test case in t_dcdiskadminallfiles.cpp
5. RichardCo
1. DEFECT FIX: DEF115401: Incomplete validation of data in loader
Version 2.00.1916
=================
(Made by DmitryL, 28/04/2008)
1. MichaelMo
1. DEFECT FIX: DEF120597: Priority dependence in fileserver in T_CFSSIMPLE
Version 2.00.1915
=================
(Made by fabiangortz, 22/04/08)
1. KaiDuan
1. DEFECT FIX: DEF117345: TTG:<Japanese character as short file name changes to different one on creating>
Corrected leading "0xE5" character handling in FAT implementation.
Version 2.00.1914
=================
(Made by NicholasC, 18/04/08)
1. AndreasP
1. DEFECT FIX: DEF120773: EShell format of MMC media - ReservedSector / Number of FATS
2. NicholasC
1. DEFECT FIX: DEF121112: USB Mass Storage driver has bare RDebug::Printf(()
Version 2.00.1913
=================
(Made by indrajeetsingh, 16/04/08)
1. MichaelCox
1. DEFECT FIX: PDEF120295: BC break in CFsPlugin
Version 2.00.1912
=================
(Made by deleogunjumelo, 09/04/08)
1. NeilC
1. MILESTONE: Sphinx, GT0339, MS3.7.2 DS766 PREQ1724: Enable the use of shared chunks within F32 and the media subsystem
Version 2.00.1911
=================
(Made by patrickconway, 03/04/2008)
1. NicholasCox
1. PDEF119749: t_ms_publish hangs
2. PDEF120290: DriveStateChangedPublisher causes a behaviour break to the drive manager in msfs
2. RoopaR
1. DEFECT FIX: PDEF119847: TestExtendedChars of t_scn32dr1.exe failed in Japanese environment.
3. MiguelB
1. DEFECT FIX: DEF120175: Issues with file server plugins & file caching
Version 2.00.1910
=================
(Made by DjordjeK, 26/03/2008)
1. NicholasCox
1. DEF119965: Unguarded RDebug::Printf in mass storage production code (GetCheckDrive)
Version 2.00.1909
=================
(Made by JohnS, 20/03/2008)
1. MichaelCox
1. DEFECT FIX: DEF119472: Drive Info not fully updated immediately after media change
2. VincentF
1. MINOR_CHANGE: Enable CSV output in perf_filter.pl
3. MichaelP
1. MINOR_CHANGE: Removed obsolete USB Mass Storage unit test t_13cases.
Coverage for the '13 cases' is provided by the MSC test suite of the
official USB test & compliance tool USBCV.
4. LukaszF
1. DEFECT FIX: DEF119418: Loading the locale DLL into process after setting locale fails on emulator.
Version 2.00.1908
=================
(Made by ParameshwariB, 17/03/2008)
1. fabiangortz
1. DEFECT FIX: DEF116668: TTG:<Chkdsk command on PC detects an error after renamed folder on SDHC>
2. MichaelCox
1. CHANGE REQUEST: CR1115: Dual Slot Support
Version 2.00.1907
=================
(Made by RichardCo, 11/03/2008)
1. JohnS
1. DEFECT FIX: PDEF114161: XSR garbage collection not updated for multiple FAT
The Unistore-II / XSR driver now collects garbage for every FAT partition.
2. MINOR CHANGE: Filldrive() in t_xferbm no longer generates unnecessary test failures.
2. DmitryL
1. DEFECT FIX: DEF119052 t_scn32dr2 test fails on volume of 8192 sectors and 4 spc.
3. markhambleton
1. DEFECT FIX: DEF119113: Test cases don't handle a lack of removable media on x86.
Version 2.00.1906
=================
(Made by OlegI, 04/03/2008)
1. AndreasP
1. Milestone: Sphinx, MS3.11, Base Meteora GT0339, DS956, PREQ1871 Peripherals: Support code for System State Manager
Configurability and compatibility:
BR2271 Increase Domain Manager domain id and domain state variable sizes
Not configurable, certain components need to be compiled with these changes in, such as domainpolicy2, testexecute, apparc and ecom3.
Version 2.00.1905
=================
(Made by ReubenH, 03/03/2008)
1. NicholasC
1. DEFECT FIX: PDEF118828: I/O errors in mass storage mode with non-Windows terminals
2. LukaszF
1. DEFECT FIX: DEF111290: DP Default ROM Failures: apparctest_t_Locale & apparctest_t_Caption
Version 2.00.1904
=================
(Made by fabiangortz, 28/02/2008)
1. patrickconway
1. DEFECT FIX: PDEF118165: Klocwork issues, NULL pointer can be used in release build base_f32
2. DmitryL
1. DEFECT FIX: PDEF117851: RFs::Volume() incorrectly reports KErrNone after media removal
2. MILESTONE: Sphinx, GT0339, MS3.5.2, PREQ1721 REQ7248 DS710 FAT32 background scan for free clusters.
3. MILESTONE: Sphinx, GT0339, MS3.5.4, PREQ1721 REQ7766 DS711 Compressed FAT representation.
3. Yogesh Chauhan
1. DEFECT FIX: DEF118468: KCurrentPosition cannot be specified by user in RFile::Read and RFile::Write.
Version 2.00.1903
=================
(Made by ParameshwariB, 19/02/2008)
1. MichaelMo
1. DEFECT FIX: PDEF118046: file server crashes because requests queued incorrectly on main thread
Version 2.00.1902
=================
(Made by SivashankarN, 14/02/2008)
1. MiguelB
1. DEFECT FIX: PDEF117946: Back upping Phone with PC Suite via USB makes phone to crash
2. DmitryL
1. DEFECT FIX: PDEF117478: Locale and time changes trigger time consuming fat operations
Version 2.00.1901
=================
(Made by ReubenH, 11/02/2008)
1. MiguelB
1. DEFECT FIX: PDEF117786: CheckDisk after FindEntryBounce of t_fsrvbm fails with KErrTooBig
2. ReubenH
1. DEV CR: BBRE-77FLAL: Kernel, GT0364 SMP, SMP: Modifications to base code in support of the GCC compiler
and related tools for the x86 target (i.e. support for new X86GCC platform)
Version 2.00.1900
=================
(Made by NicholasC, 30/01/2008)
Version 2.00.1748
=================
(Made by RichardCo, 25/01/2008)
1. indrajeetsingh
1. DEFECT FIX: PDEF112148: CFileMan->Move() behaves inconsistently
2. MiguelB
1. DEFECT FIX: PDEF116573: Phone reboots when formatting memory card after recording high quality voice cli
2. DEFECT FIX: DEF116576: T_RAW can fail on large media
3. MariamSood
1. DEFECT FIX: DEF116276: CLocDrvMountCB::CreateLocalDrive() doesn't handle error code of InitLocalDrive()
4. DmitryL
1. DEFECT FIX: PDEF116531 FAT32 Free clusters counting is inefficient.
5. SebO
1. CHANGE REQUEST: Development CR BBRE-788J8X, Peripherals GT0339 Base Meteora
(Was CR1084) Removable media should be able to use Local time stamps.
6. indrajeetsingh
1. DEFECT FIX: DEF113299: CFileMan::Rename() should fail for invalid file rename
Version 2.00.1747
=================
(Made by DmitryL 16/01/2008)
1. patrickconway
1. MINOR_CHANGE: Modified TestReadAhead() in t_rcache.cpp to report on drive synchronicity
2. fabiangortz
1. DEFECT FIX: DEF115095: IMPORT_C on BLKIFUNC()
Version 2.00.1746
=================
(Made by fabiangortz, 11/01/2008)
1. NicholasC
1. DEFECT FIX: PDEF116158: Memory card not available in USB Mass Storage after password given
2. DmitryL
1. DEFECT FIX: PDEF116219: t_ms_mountstart stalls
Version 2.00.1745
=================
(Made by patrickconway, 08/01/2008)
1. KaiD
1. DEFECT FIX: PDEF115574: FAT should create VFat entries for unicode character contained file
2. MiguelB
1. DEFECT FIX: DEF115578: User::Invariant() panic in file system thread.
2. DEFECT FIX: DEF116041: Cannot specify the number of FAT tables when formatting a drive
Added a flags field to TLDFormatInfo to allow the default number of FAT tables to be specified
and added this functionality to the shell format command.
3. MINOR CHANGE: Changed t_med_writebm to fill buffer outside for loop to improve throughput timing calculation.
Version 2.00.1744
=================
(Made by NeilC, 25/12/2007)
1. RaghavendraB
1. DEFECT FIX: INC111038 F32_MMC T_FMAN failed.
2. DmitryL
1. DEFECT FIX: DEF115494 RFs::IsValidName() API documentation is not complete.
Version 2.00.1743
=================
(Made by DeleO, 17/12/2007)
1. RoopaR
1. DEFECT FIX : DEF115215: Missing description for DriveNumber() of CFsDispatchObject class
2. DEFECT FIX : DEF115216: Missing description for Mount() of CProxyDrive class.
3. DEFECT FIX : DEF115217: Missing documentation for global function GetFileSystem().
4. DEFECT FIX : DEF115214: Missing description for member functions and data members of CFileShare class.
5. DEFECT FIX : DEF115218: Update in-source doc for data members of struct TDriveExtInfo in correct format
6. DEFECT FIX : DEF115221: Update in-source doc for data members of TExtensionInfo in correct format
2. NicholasC
1. DEFECT FIX : DEF115318: MAC can not read large files from USB Mass storage
3. JonathanM
1. DEFECT FIX : DEF115564: File Server session simulated failure should enclude File Clamp Close operation
4. DmitryL
1. DEFECT FIX : PDEF114708 extra CFatMountCB mounting after format operation.
5. KaiD
1. DEFECT FIX : DEF115314: TTG:<`(0x60) code cannot be used as valid Short File Name>
6. ReubenH
1. DEFECT FIX: DEF114154: Secure clock does not persist HAL setting
7. RichardCo
1. DEFECT FIX: DEF109820: Loader issue
Version 2.00.1742
=================
(Made by LukaszF, 10/12/2007)
1. SwetankaM
1. DEFECT FIX:PDEF114641 : SetModified()-Modifies even the creation time of a file on the emulator
2. PrashantHG
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
Version 2.00.1741
=================
(Made by DmitryL, 06/12/2007)
1. RichardCo
1. DEFECT FIX: PDEF115243: Wrong loading order if two DLLs with the same name in Z: and C: have same versio
Imported DLL loading now only searches the drives in the usual order rather than searching the
directory containing the main EXE/DLL being loaded first.
2. BREAK REQUEST: BR2262.2: Change DLL path search rules to not prefer EXE directory
Break for behavioural change in PDEF115243, above.
2. AndreasP
1. DEFECT FIX: DEF114647: 'cd' command does not work for an absolute path in eshell
Version 2.00.1740
=================
(Made by DjordjeK 04/12/2007)
1. MiguelB
1. DEFECT FIX: INC114627: Formatting E: crashes the shell with 16GB eMMC (Exit Type 2.10 USER)
2. Rajiv Maskara
1. DEFECT FIX: DEF114667: RDir::Read returns KErrEof when attempting to read from non-existant directory
3. NeilC
1. DEFECT FIX: DEF114744: TTG:<number of folders that CheckDisk() can chase up is different with creation>
Version 2.00.1739
=================
(Made by RichardCo 30/11/2007)
1. SharathK
1. DEFECT FIX: DEF114527 : Tech view : Remove directory (command) returns wrong error code.
2. MiguelB
1. DEFECT FIX: DEF114421: Inconsistent File Server behaviour when enumerating dirctories
Version 2.00.1738
=================
(Made by OlegI 26/11/2007)
1. JonCo
1. DEFECT FIX: INC113606: DP: Bytepair doesn't work if CODE ODP is enable with AknLayout2scalable.dll file
Increased loader stack size to 32K. This is a temporary solution until the upcoming loader
rework is completed.
2. indrajeetsingh
1. DEFECT FIX: PDEF114246: RFs::Rename() operation return -11 even if names of files are different
3. Radhakrishnanramanat
1. DEFECT FIX: PDEF114712: ShellFunction::Md returns KErrAlreadyExists with long filename.
Validate and return the error code corresponding to GetFullPath() in Md() function.
4. AttilaV
1. Defect FIX: PDEF114732: Defects in loader exposed by new loader tests
Version 2.00.1737
=================
(Made by ReubenH 22/11/2007)
1. JenniferH
1. MINOR CHANGE: Changed runtests timeout in autoexec.bat (h2 & H4) for base test images.
2. MiguelB
1. DEFECT FIX: DEF110992: Test TSU_MMF_SRSSNK:MM-MMF-SRSSNK-U-0131 fails
2. DEFECT FIX: DEF114103: CFileMan should disable write caching
3. MINOR CHANGE: Added a debug-only class (TFileCacheConfig) to retrieve current file-cache
config for a particular drive.
4. DEFECT FIX: DEF114514 : Calling RFs::Close() with a slow MMC card can cause a USER 80 panic
5. DEFECT FIX: DEF114666 : Changed MmcLoader to call RFile::Flush() to trap write failures when write caching is enabled
This only affects demand-paging-from-MMC ROMs.
3. AttilaV
1. DEFECT FIX: DEF113333: Kernel crashes on loading an executable.
4. georgiosdementis
1. MINOR CHANGE: Add entry BASE/F32/29 in Base_Functional_Specification.doc
5. nicholasc
1. DEFECT FIX: PDEF114233: USB Mass Storage eject and reinsert is not working for udeb
2. MINOR CHANGE: Add entry BASE/F32/30 in Base_Functional_Specification.doc for PREQ1845
Version 2.00.1736
=================
(Made by NeilC 16/11/2007)
1. SamiraA
1. DEFECT FIX: DEF114247: T_PWSTR: local drive number doesn't match file server number.
Version 2.00.1735
=================
(Made by NicholasC 14/11/2007)
1. nicholasc
1. MILESTONE: Naiad, GT0326, MS3.14, PREQ1845 - USB Client Mass Storage Double Buffering.
Version 2.00.1734
=================
(Made by MariamSood 13/11/2007)
1.DmitryL
1. DEFECT FIX: PDEF114026: Code in CScanDrive class uses too much stack.
2. Radhakrishnanramanat
1. DEFECT FIX: DEF112864: RFs.Entry() returns 'Access denied' error [error code -46]
Modified TBool SIDCheck(CFsRequest* aRequest, const TDesC& aThePath) to check for SID without appending with \\
3. SwetankaM
1. DEFECT FIX: DEF112050: : Some F32tests use D: drive or drive derived from session path.
Modified to use command line argument.
4. MichaelCox
1. DEFECT FIX: DEF112757: Rfile::Set() attributes mask check is incorrect and doesn't correspond to desc.
Update : Tests t_npfail and t_clamp also updated
Version 2.00.1733
=================
(Made by ParameshwariB 09/11/2007)
1. KaiD
1. DEFECT FIX: PDEF113482: "App closed: Voicerecorder" happened when inserting the third new sound clip to
2. DEFECT FIX: PDEF102531: F32 should be able to be tested against Non-Latin (Unicode) characters
2. dharmeshgandhi
1. DEFECT FIX: DEF112176: It is possible to change directory name to 257 characters (incl. drive letter)
3. georgiosdementis
1. DEFECT FIX: DEF113117: call to GetDesLength() is not checked for an error return
4. DmitryL
1. DEFECT FIX: DEF113832: FAT lookup for the first free cluster for MKdir is inefficient
Version 2.00.1732
=================
(Made by SushmitaR 07/11/2007)
1. DmitryL
1. DEFECT FIX: DEF113637 CFatMountCB::CheckDisk() incorrectly calculates number of clusters.
2. patrickconway
1. DEF112944: TFileText::Read() API reads more than 256 characters
2. DEF113584: TFileText::Read() reads wrong number of characters
3. fabiangortz
1. DEFECT FIX: DEF113225: Access permission denied for system folders with caching flags
4. MiguelB
1. DEFECT FIX: DEF113338: 'Reserved For Boot Sector' data is not written at format.
5. ArchanaH
1. DEFECT FIX: DEF112507: Issues with CompFS
Tested for return values.
6. KaiD
1. DEFECT FIX: PDEF113483: CFileMan::RmDir can't delete path that has no long file name
Version 2.00.1731
=================
(Made by SivashanakarN 30/10/2007)
1. DmitryL
1. DEFECT FIX: DEF112734 FAT32 FAT1 table and FAT2 table "head bytes"
2. JohnS
2. DEFECT FIX: PDEF112952: The T_NANDMISC NAND acceptance test fails
This nand acceptance test includes a disk free space vs size test that was failing for FAT32
drives. FAT32 drives include one cluster for the root directory in the reported size, whereas
FAT12 & FAT16 drives don't. The test was failing to allow for this.
3. SamiraA
1. DEFECT FIX: DEF112972: TDriveUnit::TDriveUnit(TInt aDrive) API takes -1
Version 2.00.1730
=================
(Made by KaiD 26/10/2007)
1. SamiraA
1. CHANGE REQUEST: CR1086: Add new drive attribute to identify drives with physically removable media
Added KDriveAttLogicallyRemovable
2. SwetankaK
1. DEFECT Fix: DEF112049: Wrong error code during opening a lot of files from ramdrive.
The error code is changed to KErrNoMemory.
4. BhaskarR
1. Defect Fix: DEF113015: APIREG:TParsePtrC returns FSCLIENT 25 if the the specified name
fails to parse. Modified the in-source documentation to reflect the change of error code (FSClient 24).
5. PatrickConway
1. DEFECT FIX: PDEF112800: Defect in ESTART can lead to corrupt drive mapping info and file server panic
Version 2.00.1729
=================
(Made by JohnS 23/10/2007)
1. ParameshwariB
1. DEFECT FIX: DEF112229: Removing file system without dismounting causes file server crash
2. MiguelB
1. DEFECT FIX: DEF112962: Minor improvements to File Server write caching
3. MichaelCox
1. DEFECT FIX: DEF112757: Rfile::Set() attributes mask check is incorrect and doesn't correspond to desc.
Update : An attempt to set or clear the KEntryAttDir, KEntryAttVolume or KEntryAttRemote attributes have no effect.
4. DmitryL
1. DEFECT FIX: DEF111524 H2 board crashes (debug assert) as a result of MMC card removal (reopened).
Version 2.00.1728
=================
(Made by indrajeetsingh 10/10/2007)
1. MiguelB
1. DEFECT FIX: DEF111700: Formatting a locked SD/MMC leaves it in a bad state (causes panics later)
2. ArunachalamR
1. DEFECT FIX: DEF101639: RFs::SwapFileSystem is not tested by f32test
Added t_swapfsys test application.
3. ParameshwariB
1. DEFECT FIX: DEF074912: RFs::NotifyDiskSpaceCancel() should run on a separate drive thread
4. GayathriR
1. DEFECT FIX: DEF111477: Mass storage test t_msfs_scsi fails after fix for drive eject(PDEF110325).
5. DmitryL
1. DEFECT FIX: PDEF112480 Restarting application happens on executing RFs::ChechDisk()
2. DEFECT FIX: DEF112466 CFatMountCB::DoFindL() code is inefficient
3. MINOR_CHANGE: fixed multithreading issue with RTest in t_checkdisk
6. MarkTa
1. MINOR CHANGE: Update t_pageldrtst as the integration from the preq308a branch missed the latest changes
to test case that prevent it locking up.
Version 2.00.1727
=================
(Made by DeleOgunjumelo 04/10/2007)
1. DmitryL
1. DEFECT FIX: DEF112264 Wrong error code during creating directory without trailing backslash.
2. MichaelMo
1. DEFECT FIX: DEF112351: runtests.mmp contains invalid mmp syntax
3. MiguelB
1. MILESTONE: Oghma, GT0302, MS3.13 DS733 : PREQ775: Base - Alignment of CBR and System Model components
INTERFACE CHANGE: BR2160 Peripherals: Alignment of Base components against CBR package
Separate out existing base_f32 component into the following components :
f32\group\base_f32.mrp
f32\estart\base_f32_estart.mrp
f32\etshell\base_f32_eshell.mrp
f32\iso9660\base_f32_siso9660.mrp
f32\ntfs\base_f32_sntfs.mrp
f32\scomp\base_f32_scomp.mrp
f32\sfat\base_f32_sfat.mrp
f32\sfat32\base_f32_sfat32.mrp
f32\sftl\base_f32_sftl.mrp
f32\slffs\base_f32_slffs.mrp
f32\smassstorage\base_f32_smassstorage.mrp
f32\srofs\base_f32_srofs.mrp
f32\srom\base_f32_srom.mrp
N.B. Most of the new components have their own BLD.INFs so build scripts may need changing (!)
Version 2.00.1726
=================
(Made by LukaszForynski 01/10/2007)
1. DmitryL
1. DEFECT FIX: DEF111658 FAT32 LRU cache doesn't flush dirty pages
2. indrajeetsingh
1. DEFECT FIX: PDEF111018: CFileMan->Move() moves items recursively in non-recursive mode
3. jenniferh
1. DEFECT FIX: DEF111827: T_Nandpaging has a potential deadlock.
4. MiguelB
1. DEFECT FIX: DEF111681: CheckDisk is returning bad error code when run on locked SD card
2. DEFECT FIX: PDEF111776: memory card write failure notification can deadlock the phone
5. MarkTa
1. DEFECT FIX: DEF112344: runtests.exe should not be dependant on btracec.dll.
Make the runtests '-a' option conditional on a macro being defined.
Version 2.00.1725
=================
(Made by MarkTa 26/09/2007)
1. MiguelB
1. DEFECT FIX: DEF111567: ScanDrive reads directory entries though the wrong cache
2. DEFECT FIX: DEF111755: Can't enable write caching unless read caching is also enabled
2. SamiraA
1. DEFECT FIX: DEF111000: Techview Eshell, prompt jumps up display screen when press up arrow.
Line number was not calculated correctly.
3. DmitryL
1. DEFECT FIX: DEF111524 H2 board crashes (debug assert) as a result of MMC card removal.
4. AndrewHi
1. DEFECT FIX: PDEF111701: Memory leak in CMountCB
Version 2.00.1724
=================
(Made by DmitryL 11/09/2007)
1. MiguelB
1. DEFECT FIX: PDEF110480: Large files: RFs::CheckDisk() fails if a 4GB file is present
2. DEFECT FIX: PDEF110482: Large files: RFs::ScanDisk() fails if a 4GB file is present
3. DEFECT FIX: PDEF110483: Large disks: formatting a FAT32 volume greater than 16GB causes an exception
4. DEFECT FIX: PDEF110484: Large files: Can't open an existing 4GB file for reading
5. DEFECT FIX: PDEF110485: Large files: can't create a file greater than 2GB in size with RFile::Write()
6. DEFECT FIX: PDEF110486: Large files: Can't copy a file greater than 2GB in size with CFileMan
7. DEFECT FIX: PDEF111239: Large files: RFs::GetDir() with ESortBySize fails if a >2GB file is present
8. MINOR_CHANGE: Changed EStart to output boot time to serial port if SYMBIAN_ESTART_OUTPUT_BOOT_TIME defined
9. DEFECT FIX: DEF111431: Kernel Fault when ejecting the in use media card.
2. KaiD
1. DEFECT FIX: PDEF111123: Memory card: No errors/warnings shown when copying/moving too many files to the
Version 2.00.1723
=================
(Made by OlegI 04/09/2007)
1. DmitryL
1. DEFECT FIX: PDEF109713: TEntry::iSize returns negative number for a file with 2GB or more size.
2. DEFECT FIX: PDEF110916: Unable to use RAM disk as C: drive.
3. INTERFACE CHANGE: BR2120.1 RFs API extension
4. MILESTONE: Sphinx, GT0339, MS3.5.1, PREQ1721 REQ7247 DS709 Correct Drives finalisation; using FSInfo sector and backup Boot Sector for FAT32.
PREQ1721 Optimised FAT cluster handling
REQ7247 Correct drives finalisation that allows using of FSInfo sector
Version 2.00.1722
==========================
(Made by ReubenH, 29/08/2007)
1. fabiangortz
1. DEFECT FIX: PDEF110004: CFileMan RMDir cannot handle TParse path format when it is equal to 256 chars
2. indrajeetsingh
1. DEFECT FIX: PDEF109443 : Symbian - Moving files with option ERecurse works incorrectly
3. KaiD
1. DEFECT FIX: PDEF110478: Potential regression in CFileMan::Rename operation
4. Yogesh Chauhan
1. DEFECT FIX: DEF110648: Test tags unique ID assigned twice.
5. JohnS
1. DEFECT FIX: DEF107927: CFatMountCB::MountL bad conditional expressions for unlocking of RAM drive
Change expressions to test media attributes in place of drive attributes.
2. DEFECT FIX: DEF107945 - Windows emulator selects sizeable raw disk for local internal drives
Test for media atributes KMediaAttVariableSize as well when selecting sizeable raw disk.
Version 2.00.1721
==========================
(Made by JonCo, 15/15/2007)
1. MichaelP
1. DEFECT FIX: DEF110410: USB Mass Storage Stall Timeout Should Be Reduced
Changed timeout in CBulkOnlyTransport::StallEndpointAndWaitForClear()
from 10 to 5.5 seconds.
2. NeilC
1. DEFECT FIX: DEF109797: F32test build depends on non-exported internal file sf_file_cache_defs.h
2. DEFECT FIX: PDEF110622: ScanDrive can corrupt the disk if an invalid directory entry is present
3. NicholasC
1. DEFECT FIX: PDEF110325: Mass Storage volume spontaneously remounts on Mac OS X and ubuntu
Version 2.00.1720
==========================
(Made by MariamSood, 08/08/2007)
1. markhambleton
1. CHANGE REQUEST: BBRE-74UH6R: Integrate multithreading bug fixes to e32 and f32 test code discovered during the SMP prototype development phase
Version 2.00.1719
==========================
(Made by NeilC, 02/08/2007)
1. DjordjeK
1. DEFECT FIX: PDEF109805: Loader security vulnerability
2. fabiangortz
1. DEFECT FIX: PDEF109858: T_MS_MOUNTSTART fails with Micro SD cards
2. DEFECT FIX: PDEF108235: t_soak1 not very good on large or slow drives
3. SebO
1. DEFECT FIX: DEF107996: Warnings generated with checksource build
Made paths in .mmp and bld.inf's consistant with file system.
4. Yogesh Chauhan
1. DEFECT FIX: DEF109391: CProxyDrive missing in source documentation
5. dharmeshgandhi
1. DEFECT FIX:PDEF109212: Changing password for emulated MMC does not work always
Defect reopened - integrated fix for WINS too
6. dharmeshgandhi
1. DEF110162:[System Build]:GT Warnings due to variable'env_Val' not intialized M04304v9.4
Version 2.00.1718
==========================
(Made by ParameshwariB, 24/07/2007)
1. Radhakrishnanramanat
1. DEFECT FIX: DEF108613:ESHELL carries out a carriage return and a backspace when you use backspace
Modified CLineEdit::Recall() method to calulate the line number for displaying history buffer.
Version 2.00.1717
==========================
(Made by JohnS, 17/07/2007)
1. DipakA
1. DEFECT FIX: DEF104756: APIREG: RFs::ReadFileSection allows negative length
Modified sf_nbs.cpp file and added new tests in t_rdsect.cpp to check for negative length argument in ReadFileSection API.
2. dharmeshgandhi
1. DEFECT FIX:PDEF109212: Changing password for emulated MMC does not work always
Version 2.00.1716
==========================
(Made by SushmitaR, 10/07/2007)
1. JohnS
1. MINOR_CHANGE: If \epoc32\data\epoc.ini does not exist Wintest.bat now creates
the ini file and writes the build-and-test-system settings to it.
2. michaelmoate2
1. DEFECT FIX: DEF107748 - class CFsPluginConnRequest is incorrectly specified in F32plugin.h
Removed duplicate declaration of Message method.
Version 2.00.1715
==========================
(Made by AndreasP, 04/07/2007)
1. ArunachalamR
1. DEFECT FIX: DEF107791: RFs::SwapFileSystem panics if the drive is asynchronous
Modified code to return KErrNotSupported if the drive is asunchronous.
Updated documentation accordingly.
2. RaghavendraB
1. DEFECT FIX: DEF107806: T_CFSTEST occasionally fails on paged ROMs.
3. SamiraA
1. MILESTONE: Oghma, GT0302, MS3.11, PREQ912 - Support LFFS on Intel "Sibley" NOR flash.
Version 2.00.1714
==========================
(Made by AndrewHi, 28/06/2007)
1. AndrewHaigh
1. MILESTONE: Nutmeg, GT0332, MS3.7.1 PREQ1426 - Finalise run-mode debug driver including speculative Thumb2 debug support.
2. DEFECT FIX: DEF108191. PREQ1426 - Debug Security can be circumvented.
2. MiguelB
1. DEFECT FIX: DEF108463: File caching submission increases boot time
Removed inefficient code in FsFileOpenL()
2. DEFECT FIX: DEF108498: Opened file can be read from dismounted FS
Flush file cache when file system is dismounted.
Version 2.00.1713
==========================
(Made by JonCo, 26/06/2007)
1. NicholasC
1. PDEF108112: Response to TEST UNIT READY doesn't meet USB MSCCV specification
The problem is due to the USBCV compliance test suite corrupting the boot sector rather
than a problem with compliance of the stack. The check for a valid boot sector is removed
which now allows a host to format the drive in the case that the drive is corrupted.
2. DmitryL
1. DEFECT FIX: DEF108054 Cannot fill more than 4GB on an 8GB card.
3. MiguelB
1. DEFECT FIX: DEF108189: Client thread death can cause a file server exception with file caching enabled
2. DEFECT FIX: DEF108573: FAT12 size calculation is incorrect
4. FabianGortz
1. DEFECT FIX: DEF107860: t_dspace has ram drive hardcoded
5. NeilC
1. DEFECT FIX: DEF108393: t_notify repeatedly tests the same status result
Version 2.00.1712
==========================
(Made by VincentF, 13/06/2007)
1. OlegI
1. DEFECT FIX: PDEF107141: Loader tests need updating to include simulated error tests
2. NicholasC
1. DEFECT FIX: DEF107327: Reduce KMaxBufSize to 64K in scsiprot.h
2. DEFECT FIX: DEF107330: When EMediaNotPresent is detected - abort and dismount immediately.
3. MINOR_CHANGE: Call SetActive() once all other functions have been called.
4. MINOR_CHANGE: Tidy whitespace in cbulkonlytransport.[ch]
Version 2.00.1711
==========================
(Made by MiguelB, 06/06/2007)
1. NeilC
1. DEFECT FIX: PDEF106484: T_FMAN step "Test stack usage" crashes on H2.ARM4 UDEB
2. AndreasP
1. DEFECT FIX: PDEF100529: Mounting file system extension in estart not supported
3. DmitryL
1. MINOR_CHANGE: Fixed t_fatcorrupt test that may fail on FAT32, some minor fixes for other tests.
Version 2.00.1710
==========================
(Made by SushmitaR, 30/05/2007)
1. DmitryL
1. DEFECT FIX: DEF107347 A FAT32-enabled ROM incorrectly allows file caching on the RAM drive.
2. MiguelB
1. DEFECT FIX: DEF105438: File server thread safety issues
Fixed three issues exposed by SMP testing.
3. Yogeshchauhan
1. DEFECT FIX: PDEF106686: Single mapping in ESTART causes KErrArgument when setting mappings.
4. JenniferH
1. DEFECT FIX: DEF106675: Redundant code in loader
5. SivashankarN
1. Engineering Change: EC114: Core OS: Enhance File Server to solve 1085/1086 interoperability issue.
Enhanced the Rofs and Composite file system to list the feature
manager file with special attributes uniquely by their mount id.
Version 2.00.1709
==========================
(Made by JenniferH, 24/05/2007)
1. AndreasP
1. DEFECT FIX: PDEF105959: Digitizer pen up and down discard filter works incorrectly.
2. dharmeshgandhi
1. DEFECT FIX: PDEF106692:Klocwork errors: base_f32 (2156)
3. NicholasC
1. DEFECT FIX: DEF106895: The response to the SCSI INQUIRY command is not correct
2. DEFECT FIX: DEF107277: Compilation warnings in scsiprot.cpp
4. georgiosdementis
1. DEFECT FIX: PDEF096424: Some F32tests fail on the protected area of an SD Card
5. RaghavendraB
1. DEFECT FIX: PDEF106557 TTG:< DEF097495 again >.
6. DmitryL
1. DEFECT FIX: PDEF102739 Memory card content cannot be read.
2. DEFECT FIX: DEF106662 t_fatcorrupt randomly fails because of generation bad sectors in FAT12 root dir.
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"
because T_COMPAT32 does the same.
7. ArunachalamR
1. DEFECT FIX: PDEF104287: RFormat::Open crashes file server.
(Propagated from INC096975: RFormat::Open crashes file server and applied same fix from INC096975)
CCompMountCB nulls the CCompFileSystem::iMount pointer to itself when it is destroyed.
Version 2.00.1708
==========================
(Made by MiguelB, 22/05/2007)
1. MiguelB
1. MILESTONE: Oghma, GT0302, MS3.1.2 DS479 & DS537 Preq914 - Improve filesystem performance with server-side caching
This is being delivered with read and write caching turned off by default.
See Base_How_To_File_Caching.doc for more details on how to enable file caching.
Version 2.00.1707
==========================
(Made by SamiraA, 17/05/2007)
1. sivashankarnagappan
1. DEF102024: RFs::UnlockDrive fails with KErrAlreadyExists with wrong password
Fixed the problem of unlocking the drive with wrong password not returning KErrAccessDenied. Note that unlocking
an already unlocked drive will still always return KErrAlreadyExists as expected.
Also fixed the following defects (for wins environment)
i) Clear password with wrong password was succeeding - instead of returning KErrAccessDenied
ii) Setting new password with wrong password as current password was succeeding - instead of returning KErrAccessDenied
iii) Locking with wrong password was succeeding - instead of returning KErrAccessDenied
iv) Fixed - Password information and status were information retrieval while switching between cards using hot keys was fetching wrong data
Also fixed the above said defects including DEF102024 for SD card
2. MichaelP
1. DEFECT FIX: PDEF106584: MSC doesn't handle WRITE10 failure properly
Reworked function CBulkOnlyTransport::ReadAndDiscardData() such that it now
also caters for the case where there's more data to be read and discarded
than fit in a single buffer.
3. AndreasP
1. DEFECT FIX: PDEF102803: Emulator EStart does not handle starters that do not exit when startup is over
Version 2.00.1706
===============================
(Made by MichaelMo, 09/05/2007)
1. georgiosdementis
1. DEFECT FIX: PDEF105189: MMC(SD) is not corrupted if remove it form phone when formatting is ongoing.
Change the order of the CreateBootSector function call during the format operation.
2. MiguelB
1. DEFECT FIX: PDEF104639: Phone automatically reboots when inserting memory card with password.
Calling RFs::UnlockDrive() with notifier active can fault the file server.
3. sivashankarnagappan
1. DEF102017: RFs::CheckDisk accepts the string "test" as drive path.
Updated the parameter description document as the fix. Also did the same for the ScanDrive.
4. ArunachalamR
1. DEFECT FIX: PDEF104758: TParsePool* TParsePool::Get() does not update iCountFree properly.
Updated source code to update iCountFree properly.
5. MadhuriP
1. Defect Fix: DEF104757: APIREG: RFs::Replace passes when a file with ReadOnly attribute is used.
6. OlegI
1. DEFECT FIX: PDEF104272: CFileman RMdir still cannot remove longfile name directory
7. DmitryL
1. DEFECT FIX: PDEF105953: Format parameters.
Fixed problems with "ReservedSectors" format parameter. Eshell "format" command extended.
8. NicholasC
1. DEFECT FIX: DEF105575: usb mass storage mode ejection with linux
2. DEFECT FIX: DEF104842: Remove CMediaChangeNotifier
3. Minor change: Cleanup whitespace in smassstorage
4. Minor change: Add const to constant vars in smassstorage
5. Minor change: Renaming of scsi command buffer and use of constants
Version 2.00.1705
==========================
(Made by JonCo, 24/04/2007)
1. DmitryL
1. DEFECT FIX: PDEF105081: File Server can crash when opening a file under very low memory.
3. yogeshchauhan
1. DEFECT FIX: DEF103162: Class TFSStartup is not exported but is used by partners
Documentation for TFsStartUp is added.
4. RaghavenedraB
1. DEFECT FIX: PDEF105053: A folder including unknown file and folder can be deleted.
Version 2.00.1704
==========================
(Made by AndrewHi, 16/04/2007)
1. DmitryL
1. DEFECT FIX: PDEF104955 Fat 12 issue on protected area of SD media card.
2. SamiraA
1. DEFECT FIX: DEF096685 RFs::SetStartupConfiguration() should be publishedPartner
@publishedPartner and @release added to cl_cli.cpp for RFs::SetStartupConfiguration()
Version 2.00.1703
==========================
(Made by VincentF, 03/04/2007)
1. DmitryL
1. DEFECT FIX: PDEF104147: RFile::Duplicate() leaves a handle open
2. OlegI
1. DEFECT FIX: PDEF102776: CFileMan->Move does not remove all items from source directory when moving to it
3. VincentF
1. MINOR_CHANGE: Demand Paging test additions.
4. IgorM
1. DEFECT FIX: PDEF104017 RFs::Rename() method corrupts data when run on hardware
2. DEFECT FIX: PDEF104475 T_BLOCKMAP failing on h2.arm4
5. ArunachalamR
1. DEFECT FIX: PDEF102310 in template port KScanRate specified in microseconds, should be milliseconds.
Modified the constant value and updated comments.
6. ParameshwariB
1. DEFECT FIX: DEF103041 T_FALSESPACE, B_OPEN and T_FATCORRUPT fail on 8GB SD card.
7. MiguelB
1. DEFECT FIX: PDEF104312: Memory Card ForcedErase in Text shell
Fixed problem running commands from a locked MMC/SD drive.
Version 2.00.1702
==========================
(Made by MiguelB, 22/03/2007)
1. georgiosdementis
1. MILESTONE: Naiad, GT0326, MS3.3 DS585 CR 0909 - Change the behaviour of RFs::DriveList to exclude remote files and add new
overload that includes them.
Change the behaviour of RFs::DriveList and class TFindFile, in order to be able to specify the
attribute mask of drives to be searched. Tests t_locate,t_fsrv test the added functionality.
INTERFACE CHANGE: BR1939.2: Modify behaviour of RFs::DriveList to exclude remote drives
Version 2.00.1701
==========================
(Made by SushmitaR, 19/03/2007)
1. MichaelP
1. DEFECT FIX: PDEF103792: Usb synchronisation issue between stalling and clearing an endpoint.
Changed and simplified the way Bulk endpoints are stalled (halted) and
checked for un-stalling by the host in the USB Mass Storage transport
component (cbulkonlytransport.cpp).
Version 2.00.1700
==========================
(Made by SamiraA, 08/03/2007)
1. ArunachalamR
1. DEFECT FIX: PDEF095980 [Codebase] RRawDisk::Read RRawDisk::Write panics documentation.
(Propagated from DEF092024)
Updated insource documentation.
2. ReubenH
1. DEFECT FIX: PDEF102739 Memory card content cannot be read
(Propagated from INC102003)
Updated FAT16 directory listing logic to tolerate spurious long filename entries
without marking entire volume as corrupt.
3. DmitryL
1. DEFECT FIX: PDEF103139 Some general issues with mount file system APIs.
Corrected the docummentation on RFs::MountFileSystem() API, removed KernelPanic reason for the critical notifiers
on synchronous drives. Extended RFs::QueryVolumeInfoExt() API to check if the specisied drive is sync/async one.
2. MINOR_CHANGE: TFatBootSector, TFSInfo code refactoring.
3. MINOR_CHANGE: small CFatMountCB code rearragement.
4. NicholasC
1. PDEF103095: Media removal fails on Windows Vista
Version 2.00.1513
==========================
(Made by MarkTa, 19/02/2007)
1. MiguelB
1. DEFECT FIX: DEF101943: Problems with TParsePool
TParsePool was not thread-safe and had the potential of panicking the file server if
a memory allocation failed.
2. MarkHambleton
1. DEFECT FIX: DEF102020: efile::Loader thread crashes
E32ImageHeader::New was not checking the return from FileRead and continuing to create
and allocate an image. Added check and return of error if FileRead returns anything other
than KErrNone.
Also from analysing test code found that reaper was faulting the system if it was unable to
do initial cleanup, this is erroneous so fixed this aswell.
Version 2.00.1512
==========================
(Made by JohnS, 14/02/2007)
1. DmitryL
1. MINOR_CHANGE: some Eshell commands extended.
eshell "gobble" command prints time taken to create the file
eshell "chkdsk" command now allows to start ScanDrive on a specified drive
eshell "drvinfo" command now prints FAT subtype (FAT12,16 or 32)
2. ReubenH
1. DEFECT FIX: DEF096347: NAND: Recogniser failed with KErrCOrrupt
3. MiguelB
1. DEFECT FIX: PDEF101895: Device crash in efile.exe when plugging/unplugging USB cable using fast file ...
Fixed problem with RFs::NotifyDismount(): this cancels any outstanding requests on the drive thread but
this can lead to memory leakage (and a panic in debug mode) when cancelling a KDispatchObjectClose object.
4. NeilC
1. DEFECT FIX: DEF099619: Increase in boot time by 1%
Version 2.00.1511
==========================
(Made by IgorM, 08/02/2007)
1. KaiD
1. DEFECT FIX: PDEF101442 Memory Card: The default name is not correct after formatting the memory card.
Default volume name is "" now.
2. DEFECT FIX: INC100580: Folder default name can not be displayed completely.
2. MarkHambleton
1. DEFECT FIX: DEF101470: DP: variantmediadef.h does not allow code paging from ROFS on Techview
All NAND drives are now marked as pageable for h2 and h4. This change only affects code paging.
3. IgorM
1. DEFECT FIX: INC100241 CFileMan::Copy and CFileMan::Move methods do not call RFile::Flush method before
2. DEFECT FIX: PDEF095995 Redefine ESystemDrive HAL attribute and ensure it is always set.
4. RyanHarkin
1. MINOR_CHANGE: T_BLOCKMAP fails on non-NAND builds and boards. I've updated it so that it only run if it
finds a NAND drive, but it still never runs on a Lubbock because it doesn't have the correct APIs for the test.
5. JonCo
1. DEFECT FIX: DEF101702: DP: Loader contains testing code
Removed unreferenced code
6. JohnS
1. PDEF101070: T_Blockrep erases initial bad blocks
When recovering simulated bad blocks genuine bad blocks may fail to erase.
Version 2.00.1510
==========================
(Made by AttilaV, 29/01/2007)
1. DmitryL
1. DEFECT FIX: DEF100353 CFatMountCB::CheckDisk() implementation contains potentially dangerous code.
2. MichaelP
1. DEFECT FIX: INC100541: Mass Storage Write operation performance optimization
Introduced a new virtual method 'void ReportHighSpeedDevice()' with empty
default implementation to class MProtocolBase. This new method gets called by
the F32 Bulk-only Transport once it has opened the USB LDD and detected that
it's running on a HS capable USB device. The SCSI Protocol implements the new
function and changes its media write size from 4KB to 64KB.
3. ArunachalamR
1. DEFECT FIX: PDEF100386: It's possible to subst /Resource to a new drive with only DriveAdmin capability. (Propagated from DEF099546)
INTERFACE CHANGE: BR2027.3: Currently it's possible to subst /Resource to a new drive with only DiskAdmin capability.
This is incorrect & is to be changed to TCB to match the /Sys and /Private.
Modified code to verify that the application has TCB capability for /Resource path.h.
Version 2.00.1509
==========================
(Made by StefanW, 18/01/2007)
1. StefanW
1. MILESTONE: Argus, GT0286, MS3.14 DS565 CR0960 - Provide a mechanism so that it is possible
to access an entire media address space not just a given partition of an SD Card.
2. KaiD
1. MILESTONE: Argus GT0286, MS3.7 DS401 CR0882 - Provide additional attributes to TVolumeInfo to allow
efficient buffer usage for underlying media
Version 2.00.1508
==========================
(Made by DjordjeK, 17/01/2007)
1. DjordjeK
1. DEFECT FIX: PDEF100042: Malformed reloc info can kill loader thread (MCL)
The fix for stability issue where phone may crash if a faulty/corrupted executable image is loaded.
2. StefanW
1. DEFECT FIX: DEF099820: Changes in CFileMan (DEF092084) have caused regressions of DevProv ONB tests
Fixes a a regression caused by DEF092084 which caused CFileMan to no longer return KErrInUse when
attempting to remove a directory containing open files using CFileMan::RmDir.
3. AndrewHi
1. DEFECT FIX: INC099941: F32 test T_FNAME is set to fail incorrectly
Changed path and file names to be lower case.
4. NicholasC
1. DEFECT FIX: PDEF099927: Strange behaviour when connecting USB cable - sometimes not working at all
Version 2.00.1507
==========================
(Made by JonathanM, 09/01/2007)
1. JonathanM
1. Milestone:
Naiad,SM013,MS3.20.1,PREQ1110 - Base: Demand Paging Submission (ROM paging only enabled)
2. StefanW
1. DEFECT FIX: DEF099820: Changes in CFileMan (DEF092084) have caused regressions of DevProv ONB tests
Fixes a a regression caused by DEF092084 which caused CFileMan to no longer return KErrInUse when
attempting to remove a directory containing open files using CFileMan::RmDir.
Version 2.00.1506
==========================
(Made by OlegI, 18/12/2006)
1. dharmeshgandhi
1. DEFECT FIX:PDEF095997 [codebase]t_ms_mountdrive doesn't (quite) work on emulator
2. DmitryL
1. DEFECT FIX: PDEF098783 [NQP] Parameter definition is incorrect for RFs::DismountExtension().
2. DEFECT FIX: PDEF098866 [NQP] RFs::GetMediaSerialNumber() error codes differ from documentation
3. DEFECT FIX: PDEF098865 Symbian provided RFs::NotifyChange does not work for root directories like e:\
3. StefanW
1. DEFECT FIX: DEF099009: Rename doesn't trigger directory notifiers
Modified change notification to notify clients when a watched directory appears due to a rename operation.
(prior to this, clients would only be notified if a directory disappears and not when it re-appears).
4. JohnS
1. DEFECT FIX: PDEF095959: Force Dismount of file systems may have some short comings
Closing an open file handle after a force dismount was causing a file server fault. For non
rugged FAT force dismount was failing to flush uncommitted file length changes.
2. DEFECT FIX: DEF099210: DP: nandtest_rel_autoexec.bat files are not exported as PRJ_EXPORTS
Because the files were exported as PRJ_TESTEXPORTS they were not available to system build.
5. NicholasC
1. DEFECT FIX: PDEF098658: Connected to PC Mass storage.Unable eject memory card My Computer
2. DEFECT FIX: PDEF098663: USB MS ZLP is not sent when device sends less than expected data length
Version 2.00.1505
==========================
(Made by MichaelMo, 04/12/2006)
1. MarkTa
1. DEFECT FIX: PDEF097862: Loader problems
Make RImageFinder::Close immune to being called twice by ensuring it NULLs iHeader.
Extended t_loadfail to cover this fix
2. MILESTONE: Open Environment GT314, MS3.13: DS.381:PREQ1466:Base:Open Environment- entry-point lookup by name
Modify loader to ensure that the import tables of non-XIP exe/dlls that link against stdexe/stdll(s) have
the 0th ordinal addresses of the stdexe/stdll(s) fixed up.
2. MichaelP
1. MINOR_CHANGE: Made some changes to T_FSYSBM: Added read and write tests
with 1MB block size; these show a further increase in performance when
compared to the previous maximum block size of 64KB.
3. RichardCo
1. DEFECT FIX: PDEF098218: Self-signed application causes Loader to crash by sending invalid IPC messages (
Fix the loader so that when it panics the client for being in a bad
state, it doesn't also crash itself. Extend t_ldrtst to cover this.
4. samiraabbasnejad
1. DEFECT FIX: PDEF096027: Incorrect descriptions in TEntry::iModified
2. DEFECT FIX: PDEF098199: Phone resets when phone is locked manually and remote device lock msg is receivd
3. Minor Change: Remove armv5 compile warning with unreachable break
5. AndrewHi
1. DEFECT FIX: DEF097083: File reading over the length of a buffer is inconsistent
Added user-side check to compare the requested read length with the maximum size of the buffer,
returning KErrOverflow if inappropriate. Also added test testReadBufferOverflow to t_file to exercise this change.
6. RaghavendraB
1. DEFECT FIX: PDEF098142 Illegal capability on DevLib.
Corrected insource documentation typo in cl_cli.cpp documentation.
7. YingS
1. MILESTONE: Argus GT0286, MS3.12 DS343,
CR0628 File system should cache normalised text and collation key and upper layer should use them
8. IgorM
1. DEFECT FIX: PDEF095924 [codebase] CFileMan::CreateTargetNameFromSource and non-trivial masks
2. DEFECT FIX: PDEF096012 [codebase] CFileMan::RenameInvalidEntryL does not handle special cases
3. DEFECT FIX: PDEF096923 CFileMan::Move moves directories in wrong way in recursive mode
4. DEFECT FIX: PDEF095956 CFileMan not deleting long fullnames correctly
5. DEFECT FIX: DEF094435 Test failures on LFFS drive overnight tests.
Version 2.00.1504
==========================
(Made by KaiD, 20/11/2006)
1. DmitryL
1. DEFECT FIX: PDEF097586 CBaseExtProxyDrive::DeleteNotify is not implemented.
2. DEFECT FIX: DEF097510 Memory leak when marking bad clusters in FAT.
2. MichaelP
1. MINOR_CHANGE: Made some changes to T_FSYSBM: Benchmark figures are now
more accurate and are also displayed in MB/s. Increased test file size
from 64KB to 2MB. All test files are now deleted before program exit.
version 2.00.1503
==========================
(Made by JonCo, 10/11/2006)
1. YingS
1. DEFECT FIX: PDEF096003 - Scandrive should not check DOS file names using local just for standard illegal
Don't perform basic ASCII character check in LocaleUtils::IsLegalChar() when scanning drive
2. DEFECT FIX: PDEF097611: Use TRAP instead of TRAPD in CLffsMountCB::ControlIO()
3. MINOR_CHANGE: Remove f32 & f32test warnings
2. KaiD
1. DEFECT FIX: PDEF095988: Volume label operation not consistent with what Windows does
3. DmitryL
1. DEFECT FIX: PDEF096002: FAT/FAT32 cannot create 8.3 directory entries.
2. DEFECT FIX: PDEF095934: F32 Plugin Architecture is vunerable to BC breaks.
4. ReubenH
1. DEFECT FIX: PDEF096000: F32Test T_VIRUS puts hook in wrong place
version 2.00.1502
==========================
(Made by MiguelB, 31/10/2006)
1. YingS
1. DEFECT FIX: PDEF096005 - iClusterBuffer should restrict its max length to just one cluster long
Don't use MaxLength() for real length of buffer. Use concrete number 1 << ClusterSizeLog2()
2. DEFECT FIX: PDEF097059 - Wrong operator precedence in FsThreadManager functions
- TBool b=(t.iIsAvailable && (t.iIsSync)||(!t.iIsSync&&t.iId==id));
+ TBool b = t.iIsAvailable && (!t.iIsSync && t.iId==id || t.iIsSync);
2. Radhakrishnan R
1. DEFECT FIX: PDEF096022: (codebase) RFs::ReserveDriveSpace reporting wrong error code
Propagated from DEF091829.
3. StefanW
1. MINOR_CHANGE : Added command line auto-completion support to EShell.
2. DEFECT_FIX: DEF097434: [System Build]: KSpaceChar already defined errors in M04059 v9.3 and v9.4
4. ParameshwariB
1. DEFECT FIX: PDEF095998: Check for Unvisited clusters in checkdisk should start from Cluster 2 for FAT32.
5. DipakA
1. DEFECT FIX: PDEF096010: TDrive-Document is incomplete for many inline functions of this class
Popagated from DEF092752. In source documentation added for TDrive functions.
version 2.00.1501
==========================
(Made by DmitryL, 18/10/2006)
1. ParameshwariB
1. DEFECT FIX: PDEF095998: Check for Unvisited clusters in checkdisk should start from Cluster 2 for FAT32.
2. DEFECT FIX: PDEF096018: [Codebase] T_SCN32DR3 fails when run on a FAT12/16 drive.
3. DEFECT FIX: PDEF096019: Corrupt drives can cause knock-on F32TEST failures.
2. KaiD
1. Other Changes: MINOR_CHANGE Reverting fixes for PDEF095963 on MCL as there's no requirement for
disabling multiple ROFS support any more.
Version 2.00.1500
==========================
(Made by YingS, 11/10/2006)
1. ArunachalamR
1. DEFECT FIX: PDEF096029: Techview eshell new line rendering/cursor errors
2. DipakA
1. PDEF096030: [Codebase] TFindFile makes no check on parameters passed
Defect fixed in f32file.h and cl_find.cpp. Insource document updated also added KErrArgument return value
for Empty file name.
3. DmitryL
1. PDEF095932: RF Unable to determine if a pre-installed DLL on MMC has a hash file.
Added new method to the RLoader API RLoader::CheckLibraryHash() that allows to check if the corresponding
hash file exists for the gived dll and optionally validate it.
4. NicholasC
1. DEFECT FIX: PDEF095970: Mass storage mode ejecting fails with XP
5. KaiD
1. PDEF095963: 'Flexible ROM configuration' allows customers free rein to modify the OS
- This defect fixing has been reverted on MCL.
Version 2.00.1146
==========================
(Made by IgorM, 21/09/2006)
1. NeilC
1. DEFECT FiX: DEF087940: [AQP] t_ms_password emualtor test fails
2. YingS
1. DEFECT FiX: DEF093765 - [codebase] Scandrive can't detect bad single short entry
when no long name entry
Return IsDosEntry(aEntry) if first entry is short entry.
3. StefanW
1. DEFECT FIX: DEF094062 : [Codebase]FAT32/SD: End of 2nd FAT should be at the end of a Boundary Unit
SD FileSystem Specification V2.0 states that the start of the user data area of FAT should be
aligned to a boundary unit. Modified the SD drivers to communicate the number of reserved sectors
to the FAT file system to ensure that this constraint is met.
2. DEFECT FIX: DEF094452 : [codebase] FAT32 formatting will fail when we reach 16G capacity
The current implementation of FAT32 was constrained to calculating SPC up to 16G. Fixed
by implementing additional SPC calculations as described in the FAT32 specification.
4. ParameshwariB
1. DEFECT FIX: DEF091820: [CodeBase] BPB_RootClus field is not updated when cluster 2 is marked as bad.
Also added code to copy the contents from bad cluster to new one allocated during write.
2. DEFECT FIX: DEF094211: Documentation change of capability requirements for RFs methods.
5. MarkHambleton
1. DEFECT FIX: DEF092271: [codebase]CDir::Compress() should be more imformative in dev lib
2. DEFECT FIX: INC092401: RFS::NotifyChange (with three parameters) using parameter ENotifyDir does not wo
6. RaghavendraB
1. MINOR CHANGE: Insource documentation updates for asynchronous RFile::Read().
7. ArunachalamR
1. DEFECT FIX: DEF091675: [codebase] Some undocumented functions in RFs
Insource documentation added to source file f32/sfsrv/cl_debug.cpp
2. DEFECT FIX: DEF088224: TFindFile::FindByDir returns incorrect error code for platsec violations
Defect fix in source file f32/sfsrv/cl_find.cpp
Two test applications are added: t_findcapall and t_findcapnone
Following files are modified for testing
f32test/group/bld.inf
f32test/group/wintest.bat
f32test/group/romstuff.mke
Following files are added for testing
f32test/server/t_findcaptestfile.txt
f32test/group/t_findcapall.mmp
f32test/group/t_findcapnone.mmp
f32test/server/t_findcapall.cpp
f32test/server/t_findcapnone.cpp
6. RaghavendraB
1. MINOR CHANGE: Insource documentation updates for asynchronous RFile::Read().
7. ArunachalamR
1. DEFECT FIX: DEF091675: [codebase] Some undocumented functions in RFs
Insource documentation added to source file f32/sfsrv/cl_debug.cpp
2. DEFECT FIX: DEF088224: TFindFile::FindByDir returns incorrect error code for platsec violations
Defect fix in source file f32/sfsrv/cl_find.cpp
Two test applications are added: t_findcapall and t_findcapnone
Following files are modified for testing
f32test/group/bld.inf
f32test/group/wintest.bat
f32test/group/romstuff.mke
Following files are added for testing
f32test/server/t_findcaptestfile.txt
f32test/group/t_findcapall.mmp
f32test/group/t_findcapnone.mmp
f32test/server/t_findcapall.cpp
f32test/server/t_findcapnone.cpp
Version 2.00.1145
==========================
(Made by RichardC, 14/09/2006)
1. NeilC
1. DEF093656: RF DriveNumbertoLocalDriveNumber incorrectly declared.
2. DEF093418: Documentation incomplete for class CFsObject & CFsDispatchObject.
3. DEF093419: Documentation incomplete for class CProxyDrive.
4. DEF093420: Documentation incomplete for class CProxyDriveFactory.
5. DEF093421: Documentation incomplete for class CLocalProxyDrive.
6. DEF093422: Documentation incomplete for class CLocDrvMountCB in dev library.
7. DEF093424: Documentation incomplete for member data/functions for class CFileBase.
8. DEF093425: Documentation incomplete for struct TExtensionInfo and TDriveExtInfo.
9. DEF093426: Documentation incomplete for Class CFileShare and TParseBase in dev library.
2. KaiD
1. DEFECT FIX: PDEF093691: RF Mount fails on FAT if volume label contains double byte characters
Don't call TrimRight() but only trim trailing spaces ('0x20') and NULL chars ('0x00').
3. GavinT
1. DEFECT FIX: DEF092546: [Codebase] KEntryAttXIP and KDebugNotifyMask have no descriptions
4. ParameshwariB
1. DEFECT FIX: DEF090389: [Codebase] FAT entry corrupted after unexpected end of sync write
5. YingS
1. DEFECT FIX: DEF093074 [Codebase] Potential problem with scandrive with the japanese character set
Clarify RFs::ScanDrive()'s document with details of errors ScanDrive check
6. IgorM
1. DEFECT FIX: INC089638: CFileMan->Move() does not remove all items from source directory
2. DEFECT FIX: DEF092086: [codebase] CFileMan::RunL does not handle ERetry from observer properly
7. ReubenH
1. DEFECT FIX: DEF093416: [codebase]RFS::LockDrive does not return KErrNotSupported (?)
2. DEFECT FIX: DEF093417: [codebase]RFs::UnlockDrive returns KErrAlreadyExists on emulator
8. JohnS
1. DEF085847 [AQP] PREQ1085 was delivered without tests for REQ5268
Extend the ROFS tests to NAND FAT composite file system partitions.
2. DEF093402: codebase]t_rofsdir test tests for root directory Resource twice
Test adjusted to test for root directory Resource once and to check for autoexec.bat file instead
of testing Resource twice.
3. DEF093072: [codebase]MountFileSystemAndScan returns err -21 but ok flag
Initialise aIsMountSuccess to EFalse in RFs::MountFileSystemAndScan() procedures.
9. NicholasC
1. DEFECT FIX: INC090673: USB disconnection problems with MAC
Check LOEJ bit is set before load/unload of drive.
10. ArunachalamR
1. DEF093083: [Codebase] RFile::SetSize panic undocumented
Source file f32/sfsrv/cl_file.cpp updated with in-source documentation.
11. DipakA
1. DEF092868 - Dismounting drive returns KErrNotReady
Updated Source documentation for RFs::DismountFileSystem() as following
KErrNotFound, if aFileSystemName is not found;
KErrNotReady, if the drive does not have a file system mounted on it;
KErrPermissionDenied, if the client does not have the necessary capabilities to dismount the file system;
11. ParameshwariB
1. DEFECT FIX: DEF091659: [Codebase] T_FATCORRUPT fails on some 1GB SD cards
2. DEFECT FIX: DEF091673: [CodeBase] Version number is not checked before mounting
12. YingS
1. DEFECT FIX: INC087879 - Applications in memory card not opening after re-boot
Not update directory cache in file server code when card is still locked.
2. DEFECT FIX: DEF090642 [CodeBase] - PCB: EikFileUtils::CopyFile API Shows Misleading errorcode
Replace:
if (FileNamesIdentical(srcName.FullName(),trgName))
User::Leave(KErrAlreadyExists);
with:
if (FileNamesIdentical(srcName.FullName(),trgName))
if (iSwitches&KOverWriteFlag)
User::Leave(KErrNone);
else
// return an error if !KOverwrite
User::Leave(KErrAlreadyExists);
3. DEFECT FIX: DEF092975 - [Codebase] Checkdisk does not report invalid values in an entry
Make RFs::CheckDisk()'s in-source comment clearer.
13. RichardCo
1. DEFECT FIX: DEF091818: [codebase] TFindFile finds directories
Update documentation to reflect this behaviour; it's always been that
way.
14. StefanW
1. DEFECT FIX: DEF091265: [Codebase] Formatting in f32tests should use the ESpecialFormat mode.
Modified FAT formatting code to always use special formatting options if supported
by the media driver. This ensures that media such as SD cards are formatted for
optimal performance.
2. DEFECT FIX: DEF084005: File System threads should have useful names
Drive threads are now named, containing the local drive number to assist debugging.
15. AndrewHi
1. DEFECT FIX: DEF091187: [codebase]RFs::IsFileOpen accepts directories as file argument
Modified the in-source comment to specify more precisely.
Version 2.00.1144
==========================
(Made by ParameshwariB, 29/08/2006)
1. DmitryL
1. DEF091904: [codebase]CDirScan behaves oddly if scan dir specified without \\
Documentation updated.
2. NeilC
1. DEF093321: [Codebase] Formatting for FAT32 when FAT32 isn't in the ROM causes panic.
Fat16 files system will now report not support if requested to use FAT32 formatting
3. YingS
1. PDEF092815: Scandrive should not check DOS file names using local just for standard illegal
Don't perform basic ASCII character check in LocaleUtils::IsLegalShortNameCharacter() when
scanning drive.
4. RaghavendraB
1. DEF090863: [codebase] RFs::ReadFileSection reads directories ?
ReadFileSection function updated for checking empty directories. Added new function to check
empty directories at server-side. t_rdsect tests updated for the same.
Version 2.00.1143
==========================
(Made by OlegI, 21/08/2006)
1. DipakA
1. DEF090855: [codebase] RFs::ReadFileSection reads without any file being passed
ReadFileSection function updated for zero length file checking. t_rdsect tests updated for the same.
2. DEF091545: [Codebase] RFile::Write(const TDesC8 &aDes, TInt aLength) is uninformative.
RFile::Write functions updated for zero length file checking.t_file tests updated for the same.
3. DEF092368: [Codebase]RFs::CharToDrive accepts lower case
Source documentation changed for RFs::CharToDrive , added "a to z".
4. DEF092147: [codebase] RFs::Rename accepts Zero Length File Name.
Zero length checking condition added in RFs::Rename function. Tests b_gen updated for the same.
5. DEF090654: (Codebase) MFileManObserver::NotifyFileManStarted behaves strangely with ECancel
Modified function EXPORT_C void CFileBase::RunL() and void CFileMan::CompleteOperationL()
Also added addition test cases in t_fman.cpp
6. DEF091508: [codebase] RFile::Read(TDes8 &aDes, TInt aLength) accepts a negative length
RFile::Read function source documentation updated. Read function checked for negative length input.
Also test modified for the same.
2. AndreasP
1. DEF092019: [Codebase] RRawDisk::Read RRawDisk::Write reporting KErrCorrupt wrongly
TFsRawDiskWrite::DoRequestL and TFsRawDiskRead::DoRequestL now handle the case in which
a negative positionhas been given as input RRawDisk::Write and ::Read respectively and
return KErrArgument.
2. PDEF092580: EMediaNotPresentCritical state not supported please remove references to it
All references to EMediaNotPresentCritical have been removed.
3. Radhakrishnan
1. DEF091920: RFile::Read(): Document says return value for a void function Read()
Insource document is changed from description of return value to updates aStatus parameter with
corresponding error code, since this is void function no return value description is applicable
4. DmitryL
1. PDEF092432: miniSD:Cannot boot up with 2GB miniSD which formatted FAT 16 by PC.
Fixed ScanDrive to skip bad clusters.
2. DEF092047: [codebase] CDir::Sort() behaves strangely when invoked with EDirDescending
documentation updated.
3. MINOR CHANGE: Eshell "format" command extended to support "sectors per cluster" value for user FAT formatting
4. MINOR CHANGE: Eshell "gobble" command performance improved.
5. MINOR CHANGE: New parameters in epoc.ini file: "MultiMediaCardSlots" & "MultiMediaCardsNum"
that specify number of emulated MMC cards and slots
6. MILESTONE: Bravo,GT0236,MS3.25 PREQ1192 REQ6179 Dedicated cache for FAT metadata.
Introduced dedicated cache for FAT directories.
Version 2.00.1142
==========================
(Made by NeilC, 16/08/2006)
1. YingS
1. MINOR_CHANGE: CR PSCE-6Q5KKD Add support in F32 to enable/disable Rugged FAT on a per-drive basis
NOTE TO LICENSEE: This feature gives ability to switch between rugged and non-rugged
file system. By defualt, file system is rugged. The benefit of using non-rugged FAT is
performance gain from file read/write operation, yet there is risk of loss of data integrity.
2. PDEF091955 Issues with estart
Change arguments' order in function call.
3. DEF091858 Generic Estart defaults to SSR rather than XSR
Use __NAND_SSR__ instead of __NAND_XSR__ and change default behavior to __NAND_XSR__.
NOTE, licensee who wants to use __NAND_SSR__ can define macro __NAND_SSR__ in own
version of estart.mmp.
2. NeilC
1. DEF091461: Redefine ESystemDrive HAL attribute and ensure it is always set.
Implementation of CR0896, sets EsystemDrive attribute in EStart through use of FS_SYSTEM_DRIVE keyword.
Version 2.00.1141
==========================
(Made by MiguelB, 08/08/2006)
1. DmitryL
1. PDEF091960 LFFS Mount makes excessive accesses to media.
2. AndrewHi
1. DEF091176: [codebase] Renaming to _L(""), seems fine to CFileMan
Clarified the in-source comments and extended the tests in t_fman.cpp to demonstrate.
2. DEF091830: All EStart variants should gain PowerMgmt capability
Added capability to all relevant MMP files (all except the one that has
specifically excludes Domain Management, omap_hrp\h4_mebootloader). Also
implemented run-time test in generic estart initialisation code to check
for the capability.
3. MarkTa
1. DEFECT FIX: PDEF085986: Mass Storage Periodic data transfer timer is always active
Make iTimer stop after afew seconds of inactivity or when USB disconnected
Version 2.00.1140
==========================
(Made by MichaelP, 03/08/2006)
1. DmitryL
1. DEF091573 [codebase]NotifyFileManOperation() does not cancel a copy operation correctly.
Changed CFMAn::NotifyFileManOperation description to correspond to the functionality.
2. RobertJ
1. PDEF091940: RFs::RemountDrive description is wrong
Added descriptions for flags:
0x00000001 - Used to simulate ejecting and re-inserting the media.
0x80000000 - used to force the media driver for the specified logical
drive to be closed and reopened.
2. DEFECT FIX: PDEF091959: File server fault occurs due to disconnect request completing with KErrNotReady
When dismounting a file system, all outstanding requests for the drive are completed with KErrNotReady.
Session disconnect would fault if completed with any error other than KErrCancel.
Version 2.00.1139
==========================
(Made by RobertJ, 19/07/2006)
1. JohnS
1. PDEF090121: NAND thread crash when doing async writes to internal memory.
TInt DMediaDriverNand::DoWrite() paniced for zero length source descriptors - this was crashing
the Nand thread.
2. Dipak Agrawal
1. DEF090699: [codebase] Returning ECancel to MFileManObserver::NotifyFileManEnded - no effect
Added "MFileManObserver::ECancel will not cancel processing the current
entry" comment in MFileManObserver::NotifyFileManEnded()function.
3. AndrewHi
1. DEF090994: [codebase] RFS::ReadFileSection writes buffer length even if it fails
Modified server-side code to reset the descriptor length to zero in the event of an error.
Extended t_readsect to test this condition.
2. DEF091173: [codebase] Copy to a directory_L("") seems fine with CFileMan
In-source documentation made more explicit.
Version 2.00.1138
==========================
(Made by StefanW, 11/07/2006)
1. YingS
1. DEFECT FIX: DEF088863 - T_FSRVBM performance down by fix for DEF079957
2. DEFECT FIX: DEF090715 estart.exe for h4 does not have an explicit SID
Added SID to estart.mmp of h4 and integrator as well.
2. StefanW
1. CHANGE REQUEST: PCHY-6PALT2: Add asynchronous Flush() and define ranges for file attributes.
2. MILESTONE: Bravo GT0236, MS3.20.1 DS317 PREQ1389 CR0795,CR0618 Support for >2G SD part 1
Added support for >2G SD Cards conforming to the SD2.0 version of the specification.
3. DEFECT FIX: DEF077215: T_SCN32DR1 fails when using 4GB CF card
On the FAT32 file system, the root directory can grow which was not taken into account in this
test. This caused tests to fail when the root directory extended into a new cluster. Modified
the test code to ensure that when creating files, the root directory does not grow in size.
4. DEFECT FIX: INC090262: T_FSYS F32test fails on 1G MMC FAT32 Formatted
T_FSYS would attempt to auto-detect the type of file system by reading the boot sector, then
explicitly mount the FAT or FAT32 file systems by name. This fails, as both the FAT and FAT32 file
systems share the same object name ("FAT"). Changed to only mount with the name "FAT". In order for
this (or any) tests to operate correctly on large/FAT32 volumes, you must ensure that the FAT32 file
system is present in ROM (using the WITH_FAT32 macro).
3. NicholasC
1. DEFECT FIX: DEF082033: USB Mass Storage drivers do not report suspended host machines correctly
2. MINOR CHANGE: Remove ARM4 warnings introduced in DEF082033
4. ParameshwariB
1. DEFECT FIX: PDEF087543: RFs::FileSystemName behavior is different from devlib
Version 2.00.1137
==========================
(Made by JohnS, 07/07/2006)
1. DmitryL
1. DEFECT FIX: PDEF087113 Licensee would like up to change the way fat type is calculated.
2. ParameshwariB
1. DEFECT FIX: DEF081323: [AQP] T_SCN32DR3 fails on fat32 formatted 4GB CF card using Lubbock
2. DEFECT FIX: DEF076350: [AQP] T_FATCORRUPT fails on 4GB CF card
3. YingS
1. DEFECT FIX: INC088228 - No way to show the progress of a format operation in ESTART
Added virtual function ShowFormatProgress() in estart.
Version 2.00.1136
==========================
(Made by GavinT, 23/06/2006)
1. StefanW
1. DEFECT FIX: DEF087791: CFileMan::Move leaves with KErrPathNotFound if destination path does not exist.
2. GavinT
1. DEFECT FIX: PDEF087663: USB mass storage SCSI mode sense and request sense invalid responses
Testing for the presence of a single bit in a bit field now uses '&' rather than '=='
Version 2.00.1135
==========================
(Made by JoR, 13/06/2006)
1. Ranisuneela Motru
1. DEFECT FIX: DEF087350: RFs::ErasePassword documentation should indicate the media may need formatting
Modified in-source documentation as necessary
Version 2.00.1134
==========================
(Made by RobertJ, 08/06/2006)
1. YingS
1. DEFECT FIX: DEF083235 - HAL Attributes (eg screen calibration) lost if the battery
is pulled out (Base part)
Changed TFSStartup::InitialiseHAL() to call halsettings.exe.
2. GavinT
1. DEFECT FIX: INC078251: F32 is wasting RAM for TFileName class members
Added new class, TParsePool, to manage a pool of TParse objects. As requests
are made, objects are taken from the pool and returned when no longer needed.
Version 2.00.1133
==========================
(Made by DjordjeK, 06/06/2006)
1. AttilaV
1. DEFECT FIX: DEF081770: The Loader should verify compression type.
Patch to Version 2.00.1132
==========================
(Made by RobertJ, 02/06/2006)
1. RobertJ
1. INTERFACE CHANGE: BR1889.1 DEF087365: f32 not compatible bettwen 9.1 & MCL
2. DEFECT FIX: DEF087365: f32 not compatible between 9.1 & MCL
Needed to change def files for BWINS, BX86 & EABI also
Version 2.00.1132
==========================
(Made by DavidM, 26/05/2006)
1. YingS
1. DEFECT FIX: DEF086974 - The fix for DEF074824 is not valid if the local drive mapping file is missing
Apply same fix code of DEF074824 to function TFSStartup::DetectAndMountFileSystems()
2. JohnS
1. DEFECT FIX: DEF085952: t_soak1 crash on exit.
t_soak1 invariably faults and sometimes crashes when run on an LFFS drive. The fault and subsequent
crash follow on from detecting a difference in the sizes of the free, close and allocated queues just
prior to starting the test and just after finishing it. The test has been modified to wait for the
test threads to complete prior to checking for inbalance - this fixes the fault but masks the crash.
The crash is fixed by applying a further modification to the file server code that stops the procedure
RequestAllocator::OpenSubFailed() from being called twice following on from a leave when opening
a file or directory. Such leaves may result from attempts to open files or directories from a thread
just as it is dying.
3. DavidM
1. DEFECT FIX: DEF084675: Corrupted miniSD not detected as corrupted by phone
Propagated from INC083446. Changed TDrive::CheckMount() so that after three
failed attempts at mounting the drive we give up until a media change.
4. RobertJ
1. INTERFACE CHANGE: BR1889.1 DEF087365: f32 not compatible bettwen 9.1 & MCL
2. DEFECT FIX: DEF087365: f32 not compatible between 9.1 & MCL
5. AttilaV
1. Milestone: Argus,GT0286,MS3.2
Extended EFILE (loader) to recognise and load executable image compressed by Byte Pair algorithm.
Version 2.00.1131
==========================
(Made by AndreasP, 22/05/2006)
1. YingS
1. DEFECT FIX: DEF085923 - ESTART fails to mount a second filesystem if a primary extension is re-used
-- if (r==KErrNone)
++ if (r == KErrNone || r == KErrAlreadyExists)
2. JohnS
1. DEFECT FIX: DEF085298: RFile::Read crashes H2 board when supplied a negative length
The negative length parameter on a file read was not being properly trapped for two media types
i.e RAM & emulator NAND. This has been fixed.
3. MiguelB
1. DEFECT FIX: DEF086407: RFile::Create() does not create the private directory
Changed in-source documnetation to emphasise the fact that... "If the resulting path
does not exist, then the operation cannot proceed and the function returns an error code."
4. StefanW
1. DEFECT FIX: DEF073924: CFileMan::Move does not move an empty directory across drives
2. DEFECT FIX: INC074828: CFileMan::Move moves content of directory correctly but returns KErrPathNotFound
3. DEFECT FIX: INC078759: CFileMan::Move moves directories in wrong way in recursive mode
4. DEFECT FIX: INC078800: CFileMan::Move - directory itself moved with content when moving across drives
5. ParameshwariB
1. DEFECT FIX: DEF085241: Mass Storage documentation update
Version 2.00.1130
==========================
(Made by AttilaV, 15/05/2006)
1. DmitryL
1. DEFECT FIX: DEF085946 If Fat32 storage (MMC/SD/HDD) is formatted with a volume label, B_GEN test fails.
Fixed a problem with FAT cache alignment.
2. MINOR_CHANGE: Eshell extended. "Format" command now can accept FAT type specifier(fat12, fat16, fat32) for FAT media;
new "DRVINFO" command added that shows information about drives in the system.
3. DEFECT FIX: DEF085356 LFFS crashes on manually corrupted image.
Fixed a problem (only for release build) when LFSS couldn't cope with artificially corrupted image.
For debug build ASSERT still works.
4. MINOR_CHANGE: Added epoc.ini "FlashForceImgMount" parameter support to allow force mounting of LFFS images.
Version 2.00.1129
==========================
(Made by NicholasC, 09/05/2006)
1. JoR
1. DEFECT FIX: DEF083563: Unable to get post intercept for EFsDirReadPacked
Propagated fix from INC82565
2. DEFECT FIX: DEF083523: base_f32: Not possible to get filename, pos and length in RFs::ReadFileSection
Propagated fix from INC81842
3. DEFECT FIX: DEF083999: Fileserver plugins should not cause completion of RFs::NotifyChange
Propagated fix from INC82877
4. DEFECT FIX: DEF084204: Improve FAT mount performance by increasing FAT cache
Propagated fix from INC80245
2. GavinT
1. DEFECT FIX: DEF076507: Propagated: ContentAccess::CManager::GetDir sorts files in wrong order
Changed TKeyDir::Compare() to search from the end rather than the beginning of the filename when
looking for the extension separator
Version 2.00.1128
==========================
(Made by RichardCo, 04/05/2006)
1. GavinT
1. DEFECT FIX: DEF083998: Envelope icon doesn't stop blinking until phone is rebooted
Applied fix from INC074134 to TDiskSpaceQue::CheckDiskSpace(TInt64&)
Version 2.00.1127
==========================
(Made by RobertJ, 26/04/2006)
1. JohnS
1. INTERFACE CHANGE: BR1783.2 Change to the error code returned by RFs::AddFileSystem when mass-storage
file system already exists. Current (erroneous) value returned is KErrNoMemory - this change is to
return KErrAlreadyExists instead.
2. DEFECT FIX: DEF079149: File server crash when re-adding MSFS.FSY
The message completion code was trying to access drive information even when there was no drive. Now
the code only tries to access drive information when a drive is present.
3. DEFECT FIX: DEF080979: RFs::AddFileSystem, wrong error code when re-adding the mass storage file system
Adjust the mass storage file system factory function so that if the server thread is running, a pointer
to the new file system object is returned in place of a null pointer. The calling code now cleans up
the new file system object.
4. DEFECT FIX: DEF083801: Isetta: "Windows was unable to complete the format" for 256MB MiniSD card
It is now possible to format cards for FAT32 using the USB Mass Storage Feature and a USB XP Host. The
fix was to modify CScsiProtocol::HandleReadCapacity() to write the Last Block Address instead of the
number of blocks.
5. MINOR_CHANGE: Modify usb-mass-storage-low-level-driver-test-code to
write endpoint data correctly.
6. MINOR_CHANGE: Add trace information to Mass Storage FileSystem code.
2 NicholasC
1. DEFECT FIX: DEF083986: USB mass storage class doesn't detach from Apple MAC/Tiger
2. DEFECT FIX: DEF084421: Mass Storage File System manual regression test failures for emulator.
3. Neilc
1. DEF081788: Chinese MMC card name is corrupted during bootup
Version 2.00.1126
==========================
(Made by RobertJ, 11/04/2006)
1. DmitryL
1. DEFECT FIX: DEF071138: Filesystem error in Thunder.
2. MINOR_CHANGE: Fixed ARMV5 compiler warnings in LFFS code.
Version 2.00.1125
==========================
(Made by VamosA, 27/03/2006)
1. MaximK
1. DEFECT FIX: DEF082321: Installer - shows blank field if memory stick has no name
MountL() functions in both FAT and FAT32 modified to trim trailing whitespace
from volume label.
2. DEFECT FIX: DEF082323: New volume label test code in T_FSRV is wrong
IsFileSystemFAT32() and IsFileSystemFAT() modified to read BPB.
2. MiguelB
1. DEFECT FIX: DEF083227: FAT: Debug ASSERT is incorrect
Version 2.00.1124
==========================
(Made by MarkTa, 20/03/2006)
1. NicholasC
1. DEFECT FIX: DEF082324: Install from memory card - sis file not recognised if stored in root folder o...
Pad volume name with spaces instead of NULLs.
2. YingS
1. DEFECT FIX: DEF081515 - RFs::FinalizeDrives() call fails.
- TInt nDrv = aRequest->DriveNumber(); //-- the number of the drive, requested to be finalised
+ TInt nDrv = aRequest->Message().Int0(); //-- the number of the drive, requested to be finalised
- nRes = SendReceive(EFsFinaliseDrive,TIpcArgs());
+ nRes = SendReceive(EFsFinaliseDrive,TIpcArgs(i));
2. DEFECT FIX: DEF083005 - Opening/closing keyboard when USB File Transfer is being established
Comment out all iNotifier.Connect() calls.
Version 2.00.1123
==========================
(Made by MichaelP, 14/03/2006)
1. SushmitaR
1. DEFECT FIX: DEF077207 - t_scndr1 test is failing for emulator (winscw). This is a manual f32 test.
2. MiguelB
1. DEFECT FIX: DEF081620 File server crashes under load
Made CServer2's iSessionQ thread-safe by implemented CServerFs::RunL() and aquiring
a mutex whenever (1) a RMessage2::EConnect is received or (2) the disconnect thread
deletes a session.
3. AndreasP
1. DEFECT FIX: DEF080233 - Drive mapping files broken for H2/H4
Nandloader now obtains information from all drives numbered within the range of 0 and KMaxDrives.
The first drive that is of type KPartitionTypeRofs is the first usable ROFS drive which we are interested in.
If such a drive is not found then Nandloader uses testgui::KDefaultDrive (7) as before. In both cases though
that value gets overwritten if the -d option has been used to specify a drive number for the NAND area.
2. MINOR_CHANGE: Changes to the test framework prior to System Test (India) submission.
4. JoR
1. DEFECT FIX: DEF076344: B_OPEN fails when using 4GB CF card
Comparison between disk size and file size now made using TInt64, so that
large disk sizes are not interpreted as negative.
Version 2.00.1122
(Made by MaximK, 07/03/2006)
==========================
1. MichaelMo
1. DEFECT FIX: DEF080853 - SS31 File Transfer mode does not resume activity after PC is awakened from
sleep mode
Function HWStart was modified to take a boolean argument to control whether or not
ReadAndDiscardData() is called. This was then used to prevent ReadAndDiscardData() after a reset.
2. DEFECT FIX: DEF082243 - Mass Storage failure. Bulk Transport handles case badly
Call to ReadAndDiscardData() was relocated in CBulkOnlyTransport::RunL() to after the transfer is complete.
2. MaximK
1. DEFECT FIX: DEF074909: Deadlock scenario possible in F32 plugin architecture.
Various plugin operations could cause deadlock situations due to recursive I/O.
Additionally, plugin initialisation occurred in main thread context making it
impossible to perform file IO at this stage without again causing deadlock.
- Plugin initialisation/cleanup now occurs in plugin thread context.
- Internal plugin requests (Open/Dismount etc...) are handled in the correct thread.
- Synchronous operations (or requests to synchronous drives) that originate (or are
dispatched via a plugin thread are now handled in main thread context.
- Plugin helper functions (GetName etc..) updated to ensure correct operation.
Version 2.00.1121
(Made by RobertJ, 01/03/2006)
==========================
1. JoR
1. DEFECT FIX: DEF080559: [BLOCKING] EFsFileReplace is not possible to postintercept
Propagate changes from 9.1/ INC078459
2. DEFECT FIX: DEF076086: B_FAT32 fails on 4GB CF card using Lubbock
Test included a constant value intended to be large enough to return KErrCorrupt
when it was read from. This was invalid for the 4Gig card and has been altered to
scale better with card size.
2. YingS
1. DEFECT FIX: DEF079957 - FAT Inefficient name matching when opening files
Moving these to a single test outside the loop reduced the time to open 500 file from 6.2 seconds to 3 seconds
3. parameshwarib
1. DEFECT FIX: DEF079753 - FAT table cache is not flush before closing, resulting in EFile panic if
data is
Added code to flush the FAT table data for bad sector cluster in FAT and FAT32 filesystem.
4. MichaelMo
1. DEFECT FIX: DEF081267 - CFatFileCB::SetSizeL returns KErrTooBig for size greater than 1GB
Modified function CFatFileCB::CalcSeekIndexSize (used by SetSizeL) to use an unsigned instead of
signed integer for it's bit shifting so that sizes upto (2^31)-1 bytes (just under 2GB) are now
supported.
5. AttilaV
1. DEFECT FIX: DEF080552 - Menu: System error (-1)' shown, when trying to open Web after phone has been communicating with PC using USB
Version 2.00.1120
(Made by CarlosF, 21/02/2006)
==========================
1. RichardCo
1. DEFECT FIX: DEF080218: CrashRead coorupt media on disk full
FAT implementation does not correctly handle the case where a currently
zero-length file tries to be extended to more than the available space
on the disk. Fixed and implemented a test case in B_FAT, and updated
chkdsk to detect this condition.
2. JohnS
1. DEFECT FIX: DEF078793: RFile::Open fails with KErrPermissionDenied
when opening a file in Z:\resource>.
The fix relaxes the capabilities rules for RFile::Open. \resource
files may now be opened in EFileShareReadersOrWriters|EFileRead access
and share mode, without the user having TCB capabilities.
2. MINOR_CHANGE: Correct system file access tests in test programs
t_dcdiskadmin, t_dcdiskadminallfiles and t_dcnone.2.
3. DavidM
1. DEFECT FIX: DEF078946: Time limit for lazy dll unloading should be configurable.
Propagate changes from v9.1.
Version 2.00.1119
(Made by NicholasC, 14/02/2006)
==========================
1. NicholasC
1. DEFECT FIX: DEF076092: EFileShareReadersOrWriters handling in TFsFileWrite::DoRequestL() is wrong.
2. YingS
1. DEFECT FIX: DEF078788 - Platform Security data caging error in estart.cpp (Base part of fix)
3. MiguelB
1. DEFECT FIX: DEF073538: Creation of directories on FAT systems is sub-optimal
2. DEFECT FIX: DEF075820: T_FALSESPACE fails on large drives
4. JoR
1. DEFECT FIX: DEF074548: Greater than 2GB storage not supported. - N91
Propagated from 9.1/ 8.1b.
2. MINOR CHANGE: Add note to comments for RFs::MkDirAll and RFs::MkDir
Version 2.00.1118
(Made by AndreasP, 06/02/2006)
==========================
1. RobertJ
1. DEFECT FIX: DEF079276 - comments for RFile::Write() are incorrect. In-source documentation corrected
2. AndreasP
1. MILESTONE: Intulo GT262, MS3.8 PREQ1085 Flexible device ROM configuration
BR1725: Change DMedia class to support more than four (>4) partitions on a media device
This adds support to the composite file system for multiple (more then rom and one rofs)
partitions, and the ability to hide files accross seprate rofs.
2. DEFECT FIX: DEF068715 - Base overnight test should test Composite FS
3. MichaelMo
1. DEFECT FIX: DEF079645: Write to file fails on WINSCW if file aleady opened for reading.
In the emulator files are now always opened with Windows for Read and Write (unless not
possible, i.e. read only files) as the file server will arbitrate access appropriately.
4. YingS
1. DEFECT FIX: INC074894 - MMC app does not refresh its view, when card is unlocked
Add EFsLockDrive & EFsUnlockDrive in TOperation::NotifyType() so that ENotifyDisk notification can be sent out.
Version 2.00.1117
(Made by RichardCo, 01/02/2006)
==========================
1. MichaelMo
1. DEFECT FIX: DEF078302: ReserveDriveSpace() returns no errors although memory runs out
ReservDriveSpace() now check to see if the total amount of reserved space requested for
a drive exceeds the available free space. If it does then KErrDiskFull is returned.
F32 test T_FALSESPACE is updated to reflect this change in behaviour.
Version 2.00.1116
(Made by JonCo, 23/01/2006)
==========================
1. AttilaV
1. DEFECT FIX: DEF070648: ESTART.TXT parsing doesn't work with >2 drive flags
Version 2.00.1115
(Made by NeilC, 16/01/2006)
==========================
1. MiguelB
1. MINOR CHANGE: Tidy up f32test\group\wintest.bat
2. SushmitaR
1. DEFECT FIX: DEF066623 T_CFSSOAK fails
3. RichardCo
1. DEFECT FIX: INC077362: Vulnerabilities in the Loader
Fix the loader's handling of executables which have an uncompressed size >2GB, or
a larger dllRefTableCount than there are entries in the file for. Both these cases
caused the loader to crash, taking down the OS. No security vulnerabilities were
identified.
4. NicholasC
1. DEFECT FIX: DEF075112: Locale is loaded after MMC is mounted which causes MMC name corruption
5. MaximK
1. DEFECT FIX: DEF077497 - Wrong memorycard label
Added code to reload volume label from a volume label file when the volume is being mounted.
Also created a test case.
6. DavidM
1. DEFECT FIX: DEF077913: FAT driver is not compliant with FAT
specification for starting with 0xE5 char.
Propagate changes from INC073747
Version 2.00.1114
(Made by JenniferH, 12/01/2006)
==========================
1. MiguelB
1. DEFECT FIX: DEF074713 ASSERT not inserted into CFileCB::DemoteShare() as this would crash b_open
Ensure CFileShare calls CFileCB::PromoteShare() immediately after it's constructed to prevent
hitting an ASSERT caused by the CFileShare destructor calling CFileCB::DemoteShare()
Version 2.00.1113
(Made by JonathanM, 04/01/2006)
==========================
1. MiguelB
1. DEFECT FIX: DEF075737: T_FATCORRUPT fails for FAT16 media > 128MB
Added code to t_fatcorrupt, in method DoTestUserFormatL() to calculate the sectors per
cluster depending on the volume size.
Changed CFatFormatCB::BadSectorToCluster() so that the code is the same as for FAT16 -
Before this the code didn't correctly handle a bad sector occuring in the FAT / root directory.
2. DEFECT FIX: DEF075841: Danger of heap corruption in the file server request allocator.
Fixed possibility of heap corruption introduced by fix for DEF073693.
2. NicholasC
1. DEFECT FIX: DEF070027: TFileMode doc is wrong & ChangeMode operation
3. AndreasP
1. DEFECT FIX: DEF065087: Created Time/Date field missing when file/dir is created on the FAT filesystem.
Two new member variables have been added to struct SFatDirEntry to hold the creation date (iDateC) and time (iTimeC).
These variables are being updated everytime a directory or file is being created and when a file is being replaced.
Version 2.00.1112
(Made by AttilaV, 12/12/2005)
==========================
1. YingS
1. DEFECT FIX: DEF074291 - Scandrive deletes file if named with Japanese characters
Seperate ScanDrive from MountDrive; this allows drives to be mounted followed by
locale loading. Scanning drives after locale is set thus can recognise non-ascii filename.
2. VincentF
1. DEFECT FIX: DEF066537 - T_SCNDR3 and T_SCN32DR3 fail
Increase stack size to 16k.
Update tests to cope with data caging.
Update tests to take into account existence of the f32-tst directory.
3. DavidM
1. DEFECT FIX: DEF073795: DMA is not used in USB file transfer mode
Propagate changes from INC072172 (v9.1)
2. DEFECT FIX: DEF073800: USB data throughput rate in mass storage class mode is too low
Propagate changes from INC069059 (v9.1)
4. NicholasC
1. DEFECT FIX: DEF073111: Documentation of TFindFile (f32file.h) omits any references to Capabilities
5. GavinT
1. DEFECT FIX: DEF074815: File Server disk space notification doesn't take reserved space into account
TDiskSpaceQue::CheckDiskSpace() was modified to adjust the amount of free space reported
by the drive. It now only includes the reserved space on the drive if the session has
reserved access.
6. MiguelB
1. DEFECT FIX: DEF075119: FAT32 Scan drive : cluster range incorrect for non-standard root cluster volumes
For FAT32 volumes with a root directory cluster of something other than 2, the cluster range
checking was incorrect.
Version 2.00.1111
(Made by JohnS, 30/11/2005)
=========================
1. GemaG
1. MINOR CHANGE: Test tags added in T_NOTIFY for MS3.8 (Bravo)
2. MichaelMo
1. DEFECT FIX: DEF074429 - RFormat::Open returns KErrNone, even if card is locked.
Modify FsFormatOpen to check if drive is locked and if so return KErrLocked (previously
this didn't happen until RFormat::Next was called).
Modify test t_pwstr to reflect this change and to check for regressions in the future
(N.B. this is a manual test as it requires user interaction)
Version 2.00.1110
(Made by YingS, 21/11/2005)
=========================
1. YingS
1. DEFECT FIX: DEF069977 - f32test cannot be built at SEMC
Reengineered t_fatext and t_fatcorrupt.
Reorganised code of handling bad blocks on disk in slocal & sfat32.
2. DEFECT FIX: DEF073693 - File server incorrectly treats ROM drive as substituted
Using User::AllocZ() to pre-allocate space for array to guarantee that the whole
space is cleared and set to zero. By doing this we can promise that no unwanted
content left.
3. MINOR_CHANGE: Fix file server panic
Add ValidateDriveDoSubst() check in TFsFinaliseDrive::Initialise().
2. GavinT
1. MINOR_CHANGE: Fixed T_OPEN failure
Test harness modified to only consider the results of TFileOpenScan::NextL()
for the threads it is interested in.
2. DEFECT FIX: DEF072397 - CFileMan::Copy synchronous operation is not synchronous
Updated API documentation for the TTime parameter to CFileMan::Attribs() as this
was incorrect. Changed CLocalMount::SetEntryL() to close the handle if the attempt
to set a file's or directory's timestamps failed.
3. DEFECT FIX: DEF062875 - TOpenFileScan::ThreadId() always returns the id of the calling thread
TThreadId now stored in the CSessionFs when the file is opened.
T_OPEN modified to incorporate a new test for this defect.
Version 2.00.1109
(Made by MichaelP, 15/11/2005)
=========================
1. MiguelB
1. DEFECT FIX: DEF067976: MR1: Force Erase of MMC lock UI until complete
Added a new value (EForceErase=0x400) to enum TFormatMode so that the RFormat
API can now be used to force erase a locked card. The RFormat::Next() method has
an asynchronous overload so that now a client can regain control while a forced
erase is in progress, rather than using the synchronous method RFs::ErasePassword().
2. DEFECT FIX: DEF072881: Storing MMC password to C drive doesn't work no directory c:\\Sys\\data
2. JohnS
1. DEFECT FIX: DEF067960 - Cannot connect the Mass Storage file system more than once! This
fix allows the USB Manager to connect the Mass storage file system more than once. It is
supposed to be applied together with the solution to DEF066399 a Shortlink defect.
2. DEFECT FIX: DEF068041 - RUsbMassStorage::Connect() isn't very secure. This method now
checks the server id as well as the server name for the Usb mass storage server.
3. MINOR CHANGE: Modify usbmsapp.exe (e32utils/usbmsapp/usbmsapp.cpp) so that the logical
device USBC (EUSBC.LDD) gets 'freed' when the application terminates.
3. YingS
1. DEFECT FIX: DEF073107 - Safe remove on PC side does not affect phone
Add Connect Drive code in CBulkOnlyTransport::HwStart();
Add Disconnect Drive code in CBulkOnlyTransport::HwStop().
4. MichaelMo
1. DEFECT FIX: DEF072541: Class CRawDiskCB stores bit fields in a TBool
Declare iFlags as TUint32 instead of TBool
2. DEFECT FIX: DEF072539: Identifier 'CMountCB::Locked()' redeclared from TBool to TInt
Changed declaration in f32fsys.inl to match that in f32fsys.h, return type is now
TBool in both files.
3. DEFECT FIX: INC071913: RFile.Temp() "mangles" path given to capitals
Removed call to aName.Uppercase in TDrive::FileTemp.
5. DavidM
1. DEFECT FIX: DEF072746 - CFileMan.Move() moves files in wrong way in recursive mode
Changed so that if the recursive flag is set and the source path is a subset of
the target path then the directory scan direction should be upward.
6. VamosA
1. DEF070648: ESTART.TXT parsing doesn't work with >2 drive flags
Version 2.00.1108
(Made by MichaelMo, 08/11/2005)
============================
1. MiguelB
1. DEFECT FIX: DEF071735: Scan drive for fat32 should check cluster range
Renamed CScanDrive::AlreadyUsed() to CScanDrive::AlreadyUsedL()
Renamed CScanDrive::SetUsed() to CScanDrive::SetUsedL()
Changed both functions to leave with KErrCorrupt if cluster out of range.
2. DEFECT FIX: DEF072510: Dotdot cluster number of directory below root should be null
Changed code to ensure that the "dotdot" cluster number is zero when the parent
is the root directory (before the cluster number was 2 for FAT32).
2. GavinT
1. DEFECT FIX: DEF068791: RFs::GetDir(..), Sorting filenames works wrong
Changed sorting algorithm to use different collation method that considers punctuation
2. DEFECT FIX: INC070455: RFile.ChangeMode() panics
Removed magic number from string length
Version 2.00.1107
============================
(Made by DmitryL, 31/10/2005)
1. JoR
1. DEFECT FIX: DEF068789: Operator new crash in elffs
Heap allocation in TVolumeMetrics::SetVars has been replaced with stack allocation.
Version 2.00.1106
============================
(Made by MaximK, 25/10/2005)
1. JoR
1. DEFECT FIX: DEF070658: LFFS: CorrectStatusBitPairs does not check CRC before using address from LEP
Fix propagated from DEF064943. In slffs_log.cpp:
Change code in ReadEntry to check that SegmentFromLEP returns a value within bounds before using it to index iL2PTable.
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.
2. DEFECT FIX: DEF070659: LFFS "FIXME" hit during soak testing
Fix propagated from DEF065216.
2. MiguelB
1. MINOR_CHANGE: Changed T_DSPACE to work with large cluster sizes
2. DEFECT FIX: DEF071696: KErrCorrupt on Scan Drive
Problem was that full drives were regarded as corrupt by Scan Drive dur to an invalid ASSERT.
3. DEFECT FIX: DEF071326: B_FAT & B_FAT32 Panic Target with FAT32 enabled
Removed incorrect ASSERT.
3. MaximK
1. DEFECT FIX: DEF071517 - It's hard (impossible?) to diagnose data caging problems in hardware.
Added a function to append the filename to the message.
4. MichaelMo
1. DEFECT FIX: DEF067962: CFileMan::Move completes with KErrNone and deletes the source file in error
Fixes issues where CFileMan::Move could cause data loss and where CFileMan::Move behaviour was not
consistent with documentation. See defects linked to by INC066181 (propogated from) for more info.
Version 2.00.1105
============================
(Made by RobertJ, 13/10/2005)
1. AndrewHi
1. DEF070637: CCompMountCB::IsFileInRom implemented inconsistently with CCompMountCB::EntryL
Modified method CCompMountCB::IsFileInRom to return immediately if IsFileInRom returns a NULL value
for the primary file system, rather than then invoking the function of the same name for the secondary
file system as a check.
2. MiguelB
1. DEF068763 - Hotswap, FileManager: Phone freezes with "Put the disk back or data will be lost
In order to avoid potential deadlock conditions (such as when SysApp responds to a media change
while the 'Put disk back' dialog is active etc...) the file server has been modified to:
(a) - Defer issuing media change notifiers while the dialog is active (this prevents clients
from responding to the media change and issuing excessive requests to a blocked drive).
(b) - Reject any requests immediately with KErrNotReady while the notifier is active.
2. DEF070935 - B_FAT test fails on 2 GB SD cards
Test failed because of heap overflow and taking too long.
3. JonathanM
1. MINOR_CHANGE: Fixed race-condition in unit test T_HANDSHARE. (Added Sync() command to test server.)
Version 2.00.1104
============================
(Made by JenniferH, 11/10/2005)
1. YingS
1. DEFECT FIX: DEF067961 - USB CF - Mass Storage Class interface (Reported by USB CF)
Change code of handling GetMaxLun and Reset commands to be compliant with specification.
Change code of checking invalid CBW and handling this event to be compliant with specification.
Change code of processing standard cases 11 & 13 to be compliant with specification.
Change code of processing scsi commands (Inquiry & RequestSense) to be compliant with specification.
Modify USB test Ldd code in \e32utils and mass storage tests in \f32test to reflect changes in USB mass storage.
Version 2.00.1103
============================
(Made by GavinT, 05/10/2005)
1. MiguelB
1. DEFECT FIX: DEF065773: Use macros defined in RemovableFeatures.iby to exclude MMC & USB from ROM
Defect re-opened to exclude USB mass storage file system (msfs.fsy) from ROMs
if SYMBIAN_EXCLUDE_USB defined.
2. DEFECT FIX: DEF068047: Ejecting SD Card while deleting files causes crash
Removed all calls to TDrive::Dismount() from the TDriver class to remove a circular
dependency : CFatMountCB calls TDriver which calls TDrive which can delete CFatMountCB.
3. DEFECT FIX: DEF068235: Formatting SD card with MBR can result in a bad format.
Formatting an MMC card may result in an MBR (Master Boot Record) being written
which is different from the one originally on the card. This means that the
partition may change size or position. We now force a remount of the drive before
writing the boot sector.
Version 2.00.1102
============================
(Made by AnatolyP, 26/09/2005)
1. MiguelB
1. DEFECT FIX: DEF068833 : Fat32 uses both Hi and Low 16 bit sections of a dir entry on fat16 volumes
Created a StartCluster() function in the CFatMount Class that takes a dir entry,
this then detects if the volume is fat32 or not and masks out the top 16bits of
the start cluster number.
2. YingS
1. MINOR CHANGE: Correctify RFS::SetSubst() in-source document, modifying capability description:
@capability DiskAdmin
@capability Dependent If aPath is /Sys then Tcb capability is required.
@capability Dependent If aPath begins with /Private and does not match this process' SID then AllFiles capability is required.
3. DmitryL
1. Fix for INC067968: RFs.MkDir() returns KErrAlreadyExists.
File server now checks the client's descriptor length on MkDir operation. t_fnames test extended to test this particular case.
Fixed several Armv5 warnings in file server.
Version 2.00.1101
===========================
(Made by RichardCo, 21/09/2005)
1. DmitryL
1. DEFECT FIX: DEF068026 FAT drives not scanned when file system is mounted even if they were not finalised.
DEFECT FIX: DEF068024 FAT32 drives are not scanned even if they were finalised.
Introduced support for FAT16 and FAT32 "volume clean shutdown" flag, ScanDrive now will scan dirty volumes on mount.
FinaliseDrives() now works correctly, finaly putting them into ReadOnly mode and setting "volume clean shutdown" flag if it is possible.
This feature is now turned OFF, because turning it ON is a behaviour break, see BR.1649
2. MINOR_CHANGE: Introduced new f32.mmh file, which is now included into all *.mmp files for F32 component.
Macro SCANNING_UNFINALISED_FAT_DRIVES_ENABLED in this file controls drives finalisation and ScanDrive running on startup.
3. MINOR_CHANGE: Fixed unsafe code in tests: t_dcallfiles, t_dcnone, t_dctcb, t_dctcballfiles
2. MaximK
1. DEFECT FIX: DEF067980: TFileText corrupts the stack if it has to swap bytes.
Modified parameters in the call to SwapWords() from TFileText::FillBuffer().
Version 2.00.1100
===========================
(Made by AndreasP, 14/09/2005)
1. GavinT
1. DEFECT FIX: DEF068060: Memory card's password store is located in old insecure location
Changed KMediaPWrd to place the password file in C:\sys\data.
Test harness T_PWSTR modified accordingly to verify that the mmcstore file does indeed
get written to this new location.
2. YingS
1. DEFECT FIX: DEF068040 - USBCommandVerifier's [Stress] Enumeration test fails on mass storage mode
Have to response MSC reset command after reset behaviour. Send back zero-length status packet to
confirm reset completion. Correct code of checking MSC packet format which not compliant with
standard.
2. DEFECT FIX: DEF063789 - Make T_FATEXT more generic
3. DEFECT FIX: DEF068054 - Usb mass storage: criticle section enter and leave don't match
Add 'iCritSec.Wait();' in CMassStorageDrive::SetMountConnected() in drivemanager.inl
4. MINOR CHANGE: Fix T_FATCORRUPT test failure in emulator
3. DmitryL
1. DEFECT FIX: DEF067965: [PSAudit] Unallocated data initialization vulnerability in RFile.
RamDrive memory gets zero-filled on shinking and expanding cluster chain. CRamFatTable::AllocateSingleClusterL(),
CRamFatTable::ExtendClusterListL() and CRamFatTable::FreeClusterListL() now clean memory by zero-filling it.
Also ERamDrive type of memory chunk gets cleaned on memory commit for multiple and moving memory models.
Version 2.00.1023
===========================
(Made by YingS, 05/09/2005)
1. MaximK
1. DEFECT FIX: DEF061458: LFFS allows file entries to be accessed as directory entries.
Added a number of extra checks, also created a test case.
Version 2.00.1022
===========================
(Made by MichaelMo, 31/08/2005)
1. AndreasP
1. DEFECT FIX: DEF066454 T_RESIZE test does not run on H2/H4 boards.
T_RESIZE was made platform independant and automated (uses t_main.cpp).
2. RichardCo
1. MILESTONE: Intulo GT262, MS3.3.1 PREQ1032 VFP detection support for Software Install use
Provide HAL attribute indicating whether VFP is supported by the current platform, and
extend RLibrary::GetInfoFromHeader to return VFP-ness of a binary.
3. MiguelB
1. DEFECT FIX: DEF067360: Running ScanDrive on a Full64MB SD Card causes crash
An array created in CScanDrive::ConstructL() was out by one due to a
rounding error.
Version 2.00.1021
===========================
(Made by MichaelP, 17/08/2005)
1. DmitryL
1. DEFECT FIX: DEF065286 Can not build scandrive debug binaries.
CScanDrive::ReadFatL() method has been made constant, this has fixed the problem.
2. DEFECT FIX: INC062399: NTT - Long directory name crashs a program in the RDir::Open() operation.
Fixed the elocal.fsy to correctly handle the situation with zero-terminating filenames of 256
symbol length.
Added a test step to the T_FNames to check this particular case.
2. MiguelB
1. DEFECT FIX: DEF066252: Mounting a file system extension over a failed media driver causes a fault
If a media driver fails to load, any attempt to mount a file system extension triggers an ASSERT.
Fixed by checking the media driver before mounting the extension.
3. MaximK
1. CHANGE REQUEST: AHIN-6D4M3C - SSR Nand driver: deprecation in Mike (9.1)
Parts of SSR Nand driver marked as deprecated.
4. RichardCo
1. DEFECT FIX: DEF066544: First file in ROFS is always corrupt
ROFS images with few files in can return invalid data for files whose contents start in the first
1024 bytes of the image. Fixed the ROFS block cache to not mistakenly return uninitialised cache
entries when data is requested.
2. DEFECT FIX: DEF066626: ESTART executable not configurable on emulator
Add a new optional epoc.ini setting, "EStart", to choose which executable
the fileserver will launch (defaulting to the current e32strt.exe).
5. YingS
1. DEFECT FIX: DEF065961 - ESTART panic catgories are too long
2. DEFECT FIX: DEF066216 - Formatting from the command line with the /S option causes a panic
Version 2.00.1020
===========================
(Made by MaximK 05/08/2005)
1. MiguelB
1. DEFECT FIX: DEF060393 - RFs::MountFileSystemAndScan() passes garbage IPC arg to DoMountFsInitialise()
RFs::MountFileSystemAndScan() now defaults to mount the drive as concurrent (asynchronous).
RFs::SwapFileSystem() now gets the concurrent status from the old mount and copies it to the new.
2. CarlosF
1. DEFECT FIX: DEF063795: T_SCN32DR1 and T_FATCORRUPT fail on NAND/SSR FAT drives
RFs::MountFileSystemAndScan now has the option of also mounting an extension.
3. YingS
1) DEFECT FIX: DEF063771 - RFs::CheckDisk incorrectly reports disks with clusters marked bad as corrupt
Modify code of CFatMountCB::CheckUnvisitedClustersL() to exclude bad cluster marker value from
EFatChkDskBadCluster report.
2) DEFECT FIX: INC065877 - TFindFile could be more stack efficient?
Two TFileName objects in TFindFile::DoFindNextInDriveList() are replaced
with TPtrC objects thus save near 1k bytes stack space.
3) DEFECT FIX: Fix according to DEF047896 - Replace non-Ascii characters with hex equivalents
4) DEFECT FIX: INC065890 - CFileMan uses too much stack
Reengineer code, replace TFileName object with TPtrC.
5) DEFECT FIX: DEF066406 - f32 test t_scn32dr1 fails when built on machines with japanese windows.
4. StefanW
1) MINOR_CHANGE: Update T_PWSTR to obtain the CID from the TBusLocalDriveCapsV5 serial number
Running this test is somewhat difficult, as the CID of each card being tested must be obtained
and the test rebuilt. CR-APOS-65YC4H introduced serial numbers into local drive caps,
which the test now uses to obtain the CID. Also added simple attempt to locate the first MMC drive.
5. RichardCo
1) DEFECT FIX: DEF062293: RFs::Entry and RFile::Open return wrong error code on NAND
Make composite FS return the correct error code in all cases when
file/path is not found.
Version 2.00.1019
===========================
(Made by JohnS, 21/07/2005)
1. StefanW
1) DEFECT FIX: DEF064100 - RRawDisk capability documentation error
RRawDisk::Open, RRawDisk::Read and RRawDisk::Write were incorrectly documented as requiring
DiskAdmin capabilities, where in fact TCB is required.
2) DEFECT FIX: DEF057519 - RFs::ForceRemount does not return an error code
Modified TBusLocalDrive::ForceRemount to return any error returned by the corresponding
call to RLocalDrive::ForceRemount. Additionally, a call to ::CheckMount is made to determine
if a the forced remount was successful.
3) DEFECT FIX: INC063197 - EKA2: MMC & SD: Errors in lock unlock functionality.
- Modified TBusLocalDrive functionality to ensure that the mount status is retained correctly.
- Modified MMC media driver to allow a locked partition to be mounted.
- Updated T_PWSTR tests to include all test cases supported by the EKA1 version.
- Fixed problem in emulator which prevented the emulated MMC card from being removed.
(F5+F4 key combination now cycles between Card1, Card2 and No Card as it does in EKA1)
4) DEFECT FIX: INC063392 - File sharing in the file server is critically deficient.
The existing file share modes (EFileShareExclusive, EFileShareReadersOnly and EFileShareAny)
do not provide enough flexibility for clients that simply read from a file and do not care if
the file has been (or will be) opened for writing. Currently, if a client fails to open
with the EFileShareAny share mode, then they must subsequently attempt to open a second time with
EFileShareReadersOnly to gain access. Failure to do so (particularly since the introduction of file
handle sharing) may lead to problems that are not uncovered until late in the testing cycle.
To resolve this issue, a new file share mode has been added: EFileShareReadersOrWriters. This
share mode is compatible with both EFileShareReadersOnly and EFileShareExclusive. A client
opening a file in this share mode can make no assumptions as to 'real' share mode of the file
as a second client may subsequently open in either compatible mode - after which point the
share mode of the file is effectively promoted to the new mode.
5) DEFECT FIX: INC064062 - F32 heap is occupies too much ram.
Recent changes to the file server request allocator caused all request types to hold a source and
destination path - this includes the default disconnect request which forms part of each session.
Reworking the layout of the internal request classes reduces the default size of a session by 1K.
Additionally, saved an additional 176 bytes by replacing the infrequently used 'reserved access'
arrays (CSessionFs::iReserved, CSessionFs::iReservedAccess) with a simple RArray.
6) CHANGE REQUEST: APOS-6CKBXL - Differentiation between reaching EOF or overrunning writer needed for progressive download use case.
The current implementation of the asynchronous RFile::Read API's would complete immediately even
if all the requested data is not available. The progressive download use case requires a new mode
of operation where the request is not completed until a writer process has written enough data to
the file to complete the request.
This new functionality is enabled by opening the file using the EFileReadAsyncAll access mode.
(Without specifying this mode, the original behaviour of the API is maintained)
This new file mode is incompatible with the EFileShareExclusive and EFileShareReadersOnly share
modes, as a file opened in either of these two share modes prevents a writing process from writing
to the file and completing the request. Hence, any client expecting to perform an asynchronous read
using the new access mode must open the file with EFileShareAny or EFileShareReadersOrWriters.
Two additional RFile API's have been added to allow the outstanding asynchronous request to be cancelled:
void RFile::ReadCancel(TRequestStatus& aStatus) const; (cancels the specified async read)
void RFile::ReadCancel() const; (cancels all outstanding async reads)
7) DEFECT FIX: DEF065220 - File Server Panics when MMC Card removed during scandrive boot.
Removing an MMC card while scandrive is running causes a double deletion FAT mount objects.
Corrected by modifying CFatMountCB::ScanDrive() to increment the FAT mount resource count while
scandrive is active to ensure that the media change handler doesn't destroy the mount.
8) DEFECT FIX: DEF065367 - B_OPEN crashes Lubbock.
Reworked CFileCB::InitL to ensure that a failure to allocate memory for the folded file name
or body class doesn't result in the mount being closed prematurely.
2. MiguelB
1. DEFECT FIX: DEF063081 - Add documentation on RFile ::AdoptFromClient & other similar api's.
Updated in source documentation and "Base_How_To_Share_File_Handles.doc" to emphasize the need
to call RFs::ShareProtected() before transferring a file handle.
Version 2.00.1018
===========================
(Made by JonathanM, 13/07/2005)
1. JonathanM
1. DEFECT FIX: DEF063060 - Mass Storage P&S uses insecure depreciated API's
INTERFACE CHANGE: BR1569.1 Change P&S Category to be the SID of the file server process.
This changes the value of KUsbMsDriveState_Category to be equal to the File Servers Secure ID.
This is the property category used by USB Mass Storage to publish state changes.
Version 2.00.1017
=================
(Made by OlegI, 11/07/2005)
1. RichardCo
1. DEFECT FIX: DEF063872: RProcess::Create does not support being passed "z:MyProg.exe"
Fix emulator's path parsing to be able to deal with the case where no
path is given, only the drive letter and filename. It will now load
the executable from \sys\bin on that drive.
Version 2.00.1016
=================
(Made by DjordjeK 05/07/2005)
1. MaximK
1) DEFECT FIX: DEF057864 - T_NandDrv acceptance test assumes that the nand user area is drive 6.
Added a function to search for the drive.
2) DEFECT FIX: DEF062867 - T_NandDrv acceptance test fails due to incorrect DriveCaps.iMediaAtt.
Test condition corrected.
3) DEF054953 - Locking when using RAM drive
All locks removed.
2. AnatolyP
1) DEFECT FIX: DEF063887: Chkdeps command of EShell application doesn't work with compressed files.
Decompression possibilities are added to the EShell application by including
f32\sfile\sf_inflate.cpp and f32\sfile\sf_decomp.cpp files into project. Function
GetImportDataL was modified to consider possible file compression. Also this function
was splitted into 2 parts to facilitate code understanding. To parse file name of dependencies,
I've included TFileName class from efile project into Eshell project (by copy&paste).
3. MichaelMo
1) DEFECT FIX: DEF060782 - USB Mass Storage is not immediately recognised by Win2K
Fix is to ensure that media is set to changed when mass storage filesystem is mounted.
2) DEFECT FIX: DEF061453 - MAC OS doesn't recognize Symbian USB Mass Storage device
Windows and OS X differ in their interpretation of the 'Prevent Media Removal' command, specifically
OS X interprets acceptance of this command as meaning a device is not removable and therefore stops
polling for it. The fix is therefore to remove support for this command, which forces OS X to treat
the media as removable and has no adverse affect under windows. A commented out #define is provided
in scsiprot.cpp should this need to be re-enabled for any reason.
3) MINOR CHANGE: Enable ControlIO support in CMassStorageMountCB (debug builds only)
4) MINOR CHANGE: Add commented out #define for enabling mass storage debugging in massstoragedebug.h
5) MINOR CHANGE: Changes to F32 Mass Storage Tests to reflect changes in behaviour caused by fixes for the following defects:
DEF060782 - USB Mass Storage is not immediately recognised by Win2K.
DEF061453 - MAC OS doesn't recognize Symbian USB Mass Storage device.
Version 2.00.1015
=================
(Made by RobertJ 27/06/2005)
1, YingS
1) DEFECT FIX: BR1559.1 DEF059968: Potential exploit using RFs::Subst()
Added DiskAdmin capability requirement when calling RFs::SetSubst()
2. RichardCo
1) DEFECT FIX: DEF063639: No def file exported from basedomain
Export domainpolicyu.def so that it can be used by implementors of
domain policies to ensure the correct DLL ordinals.
Version 2.00.1014
=================
(Made by AndrewHi 23/06/2005)
1. Jeremys
1) DEFECT FIX: DEF061544: T_scndr1 appears to fail on 9.1
Fix test code so it copes with the memory for the fat buffer not being aligned on a 32-bit
boundary.
2. YingS
1) DEFECT FIX: DEF062026: GetStartupMode() needs access to the file server
Add another function GetStartupModeFromFile(). Estart calls this function after FS initialisation
when access FS to get startup mode is needed. Default base version returns KErrNotSupported.
Licensees should derive this function to provide their own method of getting startup mode from
FS and make it return KErrNone when succeed. New startup mode value will update the property.
2) DEFECT FIX: DEF062411 SS Lowering the priority of the loader thread == a large performance improvement
Added new API RFs::SetStartupConfiguration(TInt aCommand,TAny* aParam1,TAny* aParam2=0). This function
can be called from estart only. To change loader priority, licensee should put similar code in their
estart as below:
r = rfs.SetStartupConfiguration(ELoaderPriority, (TAny*)EPriorityAbsoluteBackground);
if (r != KErrNone)
User::Panic(_L("SetStartupConfiguration error"), r);
NOTE ALSO: Licensee should add following two lines in their estart.mmp file to build:
LIBRARY EFSRV.LIB
UID 0 0x10272C04
3) DEFECT FIX: DEF063539 - Eshell panics if keypad is stuck
Correctify command length check.
3. AnatolyP
1) DEFECT FIX: DEF063557: Xrepro and debug commands of EShell application refer to absent executables
This defect is a part of DEF049934: Some text shell built in functions broken.
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.
Debug command of EShell runs gdbstub for on-target debugging, and this is not present by default.
Now superfluous commands deleted from EShell.
2) DEFECT FIX: DEF063558: Filenames of <3 characters are considered as invalid by EShell application
This defect is a part of DEF049934: Some text shell built in functions broken.
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.
Now superfluous filename limitation removed
4. Dennis
1) Minor change: Rename TLoaderHeapFunction to TLoaderDebugFunction and remove redundant entries.
Move EFsCancelLazyDllUnloading to TLoaderDebugFunction and rename it to ELoaderDebug_CancelLazyUnload.
Version 2.00.1013
=================
(Made by JenniferH 14/06/2005)
1. StefanW
1) DEFECT FIX: DEF062095 - File server perfomance of syncronous drives improved by avoiding lock.
Modified CFsMessageRequest::Dispatch() to prevent locking if the drive is synchronous. Locking
was unnecessary, as the synch drive flag is never modified within a drive thread.
2) DEFECT FIX: INC061006 NTT Applications are not closed when MMC card is hotswapped.
The peripheral bus controller returned the incorrect error code when the media is not present.
This has been corrected to return EMediaNotPresent. Additionally, the state machine has been
optimised to prevent the card from being continuously powered up if no card is present - this
should reduce boot time on systems that provide no card detect mechanism.
3) MINOR CHANGE: Added MMC media change test T_MEDCH.EXE and associated driver D_MEDCH.LDD
4) DEFECT FIX: DEF062805 - Malicious client can fault f32. Passing an invalid mode argument
to the RFs::NotifyDismount could fault the file server - Now returns KErrArgument.
5) DEFECT FIX: DEF062987 - USB Mass Storage does not fully support the SCSI VERIFY(10) command.
The VERIFY(10) packet contains a BYTCHK bit that specifies wether the verify operation should
only read from the media (BYTCHK==0) or compare with the data supplied by the host (BYTCHK==1).
Mass Storage ignores the BYTCHK==0 case, which prevents disk utility tools such as ScanDisk
from being able to identify and mark bad blocks on the media. This is now supported correctly.
2. RichardCo
1) DEFECT FIX: DEF057037: No way to protect against bad session handles being passed
RFile::AdoptXxx methods use the new secure version of RSessionBase::Open to ensure that the
session they are adopting is really a file server session.
3. Jeremys
1) DEFECT FIX: DEF061544: T_scndr1 appears to fail on 9.1
Fix test code so it copes with the memory for the fat buffer not being aligned on a 32-bit
boundary.
Version 2.00.1012
=================
(Made by Carlosf 06/06/2005)
1. MaximK
1) DEFECT FIX: DEF059964 - file server ChangeMode() should be policed server-side.
Server-side code modified (sf_file.cpp: TFsFileChangeMode::DoRequestL()) and
a test case added (t_file.cpp: testMiscellaneousReportedBugs()).
2. YingS
1) DEFECT FIX: DEF062545 - Potential risk of corrupt file system in T_FATCORRUPT
Version 2.00.1011
=================
(Made by MichaelMo 01/06/2005)
1. YingS
1) CHANGE REQUEST: JHAS-68YPX7 System, GT0223 Mike Base, Implement PREQ1163 "Limited support for hard disks as secondary storage" in Mike.
Interface Change: BR1543.1 - Peripherals: Add GetLastErrorInfo API to CProxyDrive
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).
Version 2.00.1010
=================
(Made by RichardCo 26/05/2005)
1. JonatanM
1) MINOR_CHANGE: Modified T_FALSESPACE test so that it doesn't run on drive K: if 'TESTFAST' mode
is set. (This is to speed up automated testing.)
2. StefanW
1) DEFECT FIX: DEF061457 - LFFS - LffsDir::readEntry can access deleted directory entries causing panic.
Deleting the current directory would result in a panic due to LFFS accessing an inode now marked as
unused. TLffsDir::ReadEntry corrected to catch this case and search for the next valid entry.
2) DEFECT FIX: DEF059352 - Mass Storage P&S does not operate as stated in the design doc when ejecting MMC
Unrelated to card ejection, when stopping the Mass Storage device from the host the controller would
immediately enter the Disconnected state without passing the Disconnecting state.
3) DEFECT FIX: DEF060781 - USB Mass Storage - Synchronous notification in the file server
It is not possible to mount the Mass Storage FSY while applications/servers have files open on the
drive. In order to facilitate a safe and clean dismount of the file system, a notification mechanism
is required to inform clients that the file system is about to be dismounted. This is acheived using
the following new File Server API's:
IMPORT_C void NotifyDismount(TInt aDrive, TRequestStatus& aStat, TNotifyDismountMode aMode) const;
IMPORT_C void NotifyDismountCancel(TRequestStatus& aStat) const;
IMPORT_C void NotifyDismountCancel() const;
IMPORT_C TInt AllowDismount(TInt aDrive) const;
4) DEFECT FIX: DEF061078 - Inefficiency in LFFS file system.
The LFFS logical to physical sector lookup was very inefficient, involving a search through the
segment list. This has been optimised by modifying the lookup table to contain segment pointers.
5) DEFECT FIX: DEF061757 - Missing in-source comment for two new constants in F32.
Added in source documentation for KPluginAutoAttach and KPluginAutoLocate.
6) DEFECT FIX: DEF061243 - Closing RRawDisk session doesn't remount filesystem.
Modified RRawDisk to ensure that the mount is remounted if the contents of the drive has changed.
3. YingS
1) DEFECT FIX: DEF061834 - RFile Seek performance Improvement
In ESeekStart case, directly return after pos set instead of copying pos back to parameter which is only
waste time.
2) DEFECT FIX: DEF059965: Loader & FS policing of add FS / add extension ineffective
Add DiskAdmin permission check in ELoadFileSystem and ELoadExtension cases of file loader ServiceL() function.
Add SID=f32 check in TFsAddExtension & TFsAddFileSystem, remove old check in TFsAddFileSystem.
Add DiskAdmin permission check in TFsRemoveExtension & TFsDismountExtension.
4. RobertJ
1) PREQ563 MS3.4.2 Lazy dll unloading
5. AnatolyP
1) DEF061344: In text shell pagination for help screens/ dir etc. is broken(part of DEF049934)
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:
- Help
- Dir
- Attrib
- Hexdump
- Tree
- Type
- Ps ( with all subcommands )
Dir function is also modified to support proper alignment of text into columns when called with /w switch.
Version 2.00.1009
=================
(Made by StefanW 17/05/2005)
1. AnatolyP
1) Defect Fix: DEF061239: Help for the Trace command of text shell is not complete (part of DEF049934).
2. MiguelB
1) Defect Fix: DEF058337 - Rugged file system not rugged enough when growing FAT directories
3. MichaelMo
1) Defect Fix: DEF057360: Add new EKA2 emulator property to disable the System Starter
Version 2.00.1008
=================
(Made by Kamran 12/05/2005)
1. Kamran
1) MILESTONE: Yankee,GT0223,MS3.4.1 PREQ473 Generic fileserver hooks
Note: this included addition of t_virus test to f32tests
Version 2.00.1007
=================
(Made by MiguelB, 03/05/2005)
1. JoR
1) Defect Fix: DEF058458: LFFS: defects building logical->physical mapping on mounting
2. JohnS
1) Milestone: GT0236, MS3.7 - Engineering Change Macro Removal
Version 2.00.1006
=================
(Made by JonathanM, 26/04/2005)
1. JonathanM
1) MINOR CHANGE: Removed obsolete F32TESTs (those checking DLL linkage in different directories)
Version 2.00.1005
=================
(Made by JasmineS, 19/04/2005)
1. RichardCo
1) Defect Fix: DEF059487 - EStart doesn't restore the timezone settings correctly after a system restart
2. PeterS
1) Defect Fix: DEF059050 - F32 client and FSY APIs are not future proofed.
Added reserved member data to the following 'publishedAll' classes: TEntry, TDriveInfo, TVolumeInfo, TFindFile.
Added the new virtual function GetInterface() which returns an interface extension to the following
'publishedPartner' classes: CMountCB, CFileCB, CDirCB, CFormatCB, CFileSystem, CProxyDrive, CBaseExtProxyDrive.
Added a new machine word of reserved member data to the following 'publishedPartner' classes: CFileCB, CDirCB,
CFormatCB, CFileSystem, CProxyDrive.
Added a new leaving function in the creation path of CMountCB - CMountCB::InitL().
Added a destructor to CProxyDrive.
2) INTERFACE CHANGE: BR1375 "Changes to make FSY API more future proof". (as part of fix for DEF059050).
This will affect all FSY components - which need to be rebuilt after this change.
3) INTERFACE CHANGE: BR1468 "Changes to make F32 client APIs more future proof". (as part of fix for DEF059050).
ALL COMPONENTS USING TEntry, TDriveInfo, TVolumeInfo OR TFindFile NEED TO BE REBUILT AFTER THIS CHANGE.
3. JeremyS
1) CR PHAR-6B8GSS - Add RFile::FullName API (Development CR)
4. RobertJ
1) PREQ563 MS3.4.1 MatchF Removal
Version 2.00.1004
================
(Made by Jeremy Smithers, 12/04/2005)
1. JonathanM
MINOR CHANGE: Added new option to RUNTESTS.
Specifying -st will cause the time taken for each test to be shown (if the test passes).
Example output: "RUNTESTS: Test MY_TEST.EXE OK - Seconds Taken: 234"
MINOR CHANGE: Made RUNTESTS output a linefeed before any TIMEOUT message (to help log parsing)
2. MiguelB
1) Defect Fix: DEF058817 - File server panics if the NAND media driver fails to load.
2) Defect Fix: DEF058681 - Mass Storage reports VolumeName incorrectly
3. MichaelMo
1) DEFECT FIX: DEF058075 - Inefficient stack usage in FAT filesystem can result in stack overflow
4. StefanW
1) DEFECT FIX: DEF059046 - LFFS tests fail with RVCT2.2
Code reworked to avoid an RVCT2.2 bug causing problems within LFFS Entry code.
Version 2.00.1003
================
(Made by Kamran, 01/04/2005)
1. JoR
1) Minor Change: Backing out changes in etshell/ts_com.cpp and wins/specific/mmc.cpp which were made for test purposes only
2) Minor Change: Fixing f23/smassstorage/drivemanager.cpp to check return values of RProperty::Attach correctly
2. MaximK
1) Defect Fix: DEF056007 - ~RUsbMassStorage()
3. MiguelB
1) Defect Fix: INC055996 - Add overloads of CFileMan functions that take a source RFile parameter
2) Defect Fix: DEF058234 - RFile::Adopt() should not panic if given an invalid file handle
Version 2.00.1002
=================
(Made by MichaelP, 22/03/2005)
1. YingS
1) Defect Fix: DEF056488 - Fat caching scheme on EKA2 is not safe
2) Defect Fix: INC054580 - NTT Renaming sys folder on C: on H2 allows user to access sys files
3) Defect Fix: DEF057668 - ESHELL.EXE panics (USER PANINC 11) when "Copy " is used without arguments
2. MaximK
1) Defect Fix: DEF055797 - Pointless drive letter checking in TDrive::LocateFile
3. JoR
1) Defect Fix: DEF057517 FAT causes drive unmounting and remounting after running scanDrive
Version 2.00.1001
================
(Made by JS, 14/03/2005)
1. YingS
1) Defect Fix: DEF056249 - GMT offset is not propery updated after loading elocl.dll
2. KamranN
1) Defect Fix: DEF056344 - Cedar Fat has issue with small write flushing
3. JeremyS
1) Defect Fix: DEF056327 - t_falsespace takes too long to run
2) Defect Fix: DEF056330 - Missing RProcess::Close in Runtest
4. Dennis
1) Defect Fix: DEF056999 - Loader performs unnecessary file system accesses
7. RichardCo
1. MILESTONE: Bravo,GT0236,MS3.2.2 PREQ234 UTC and Auto DST Support(Peripherals)
2. INTERFACE CHANGE: BR-1316.1 Peripherals: File system to use UTC.
Version 2.00.1000
================
(Made by MichaelMo, 04/03/2005)
1. MichaelMo
1) Defect Fix: DEF055667 - CFatMountCB VolumeLabelFile methods always use cluster 0 and shouldn't on FAT32
2) Defect Fix: DEF055320 - Fat32 is used in MMC cards which are bigger than 32MB
3) MINOR CHANGE: Stop warnings on release builds for FAT and FAT32
2. JeremyS
1) Defect Fix: INC055113 - NTT Program closed error occurs when exiting from Eshell in Techview emulator
3. MiguelB
1) Defect Fix: DEF056111 - RFile::Duplicate() does not correctly increment the file session resource count
4. MaximK
1) Defect Fix: DEF055669 - TFindFile SD error
Version 2.00.548
================
(Made by DjordjeK, 21/02/2005)
1. JonathanM
1) DEFECT FIX: DEF055621 - Locale DLL not loaded on EKA2
2. YingS
1) DEFECT FIX: INC054269 - Language swapping not supported in current Hermione baselines
3. KamranN
1) Minor Change: changing the cache request block size
Version 2.00.547
================
(Made by CarlosF, 15/02/2005)
1. DjordjeK
1) DEFECT FIX: DEF054369 - RFs doesn't specify in documentation if time is UTC or local
2. KamranN
1) DEFECT fix: DEF055202 - RFile::Replace gives NULL pointer and craches emulator
2) Minor Change: Increasing reserved memory for b_open test
Version 2.00.546
================
(Made by RichardCo, 08/02/2005)
1) YingS
1) CR: RFID-5YNJAW System, GT0177 Kernal and Peripherals,
Add a method to acquire the serial number of removable media
1) MiguelB
1) DEF052982 - Generic EStart fails to mount composite file system
2) DEF053956 - TFatDirEntry::IsLongNameStart is logically incorrect
3) DEF054111 - FAT32 bug with large discs
Version 2.00.545
================
(Made by RichardCo, 01/02/2005)
1) YingS
1) Minor Change: adjust calling condition in estart::StartSystem()
Version 2.00.544
================
(Made by MichaelMo, 21/01/2005)
1) JoR
1) DEFECT FIX: DEF053763 No documentation for RFs::ReserveDriveSpace and related functions
2) KamranN
1) CR PGEN-66RLDR System, GT0182 Sierra, Improve small read performance in EKA2 File System
Version 2.00.543
================
(Made by JonathanM, 18/01/2005)
1) MiguelB
1) DEF052298 - 0 length files on dev boards (h2 / lubbock) for 8.1b
2) DEF053475 - Problem with FAT/FAT32 with large disc (20GB)
3) DEF053851 - Searching for hidden dir in a ROFS file system will cause an endless loop
2) YingS
1) DEF053467 - T_TLINK failure in EKA2 when platsec switch off
Version 2.00.542
================
(Made by StefanW, 10/01/2005)
1) RandyL
1) Defect Fix: DEF053262 - Test cases Notification_1 and Notification_2 aren't implemented (propagated from DEF052683)
2) KamranN
1) DEFECT FIX: DEF053244 - Running out of battery during formatting MMC
3) YingS
1) DEFECT FIX: DEF053671 - emulator version estart haven't been modified
Version 2.00.541
================
(Made by YingS, 04/01/2005)
1) MiguelB
1) DEFECT FIX: DEF052973 - File server panics booting a NandLoader ROM with WITH_EXTENSION macro defined
2) YingS
1) DEFECT FIX: DEF052345 - ESHELL "chkdeps" command is confused by the composite filesystem
2) DEF053431 - T_ESTART failure when platsec switch off
3) CR WPAR-66JF9U System Libraries, GT0219 Mike System Libraries, Define System Properties at startup
3) TrevorC
1) DEFECT FIX: DEF053260 - USB Mass Storage Filesystem states, error handling, and thread safety issues.
4) MichaelMo
1) DEFECT FIX: DEF052145 - Fat32 over writes all 32bits of a fat table entry, only 28 bits should be changed
2) Minor Change: Extended B_FAT32 test to ensure only 28 bits of fat table entries are changed.
5) KamranN
1) DEFECT FIX: DEF052483 MMC formatting not compatible to Epson printers
Version 2.00.540
================
(Made by MichaelP, 16/12/2004)
1) MiguelB
1) DEF052379 - RFile::Adopt panics when handle is null
2) DEF051122 - Browsing V:\Attrib directory on TechView emulator causes it to hang
2) RobertJ
2) DEF052290 - Improvement to the file server startup mechanism
Patch release
================
1) AndrewJ
1) CR MBUN-63SMAQ Change the IPR catagory of Fat32
Version 2.00.539
================
(Made by KamranN, 6/12/2004)
1) KamranN
1) Minor changes: Adding two tests to t_fman to test long file names and paths
2) AndrewJ
1) Fixed DEF052243 Excesive parsing in the EKA2 file server.
3) YingS
1) Fixed DEF052211 Potential memory leak in eshell
4) StefanW
1) DEF048418 - LFFS mount time too long. LFFS Mount has been updated to (a) detect
empty segments to eliminate scanning at boot, and (b) to make use of the read ahead cache.
2) DEF052265 - LFFS corrupts itself sometimes after format.
3) DEF052266 - LFFS outdated and erased log entries affecting mounting process.
4) DEF052280 - LFFS corruption. LFFS would mistake a segment full of zero's due to an interrupted
erase for an invalid segment, which could lead to data corruption. Mount now checks
for this case and performs recovery if possible, otherwise enters read only mode.
5) DEF052282 - Modified T_SOAK1 fails. Fixed a race condition in the LFFS filesystem that resulted
in the background thread deleting the Inode while accessed by foreground thread,
and a problem with reclaiming Null Log Entries that are part of an open transaction.
6) DEF052286 - Creating many files in a short period causes LFFS corruption. Fixed by checking for
zero length writes before writing to the media.
5) YingS
1) DEF052346 - ESHELL debugport command does not accept argument -2
6) AlexS
1) Fix for DEF051862 - Mass storage FS works very slow with Windows ME
2) Fix for DEF051810 - The unit tests t_ms_drive and t_msfs cannot be run on EKA2
3) Fix for DEF052156 - Mistakes in API Classification
7) TrevorC
1) Fix for DEF052306 - CMassStorageDrive decrements Mount Lock inappropriately.
2) Fix for DEF052303 - USB MS drive list is incorrect
Version 2.00.538
================
(Made by JonathanM, 29/11/2004)
1) AndrewJ
1) DEF052117 Remove defpath from 9.0 onwards, Added a new file (/f32/sfsrv/cl_insecure.cpp)
containing the insecure default path APIs and there stubs.
Patch to Version 2.00.537
================
(Made by KamranN, 29/11/2004)
1) KamranN
1) fix for DEF051428 PlatSec: Incorrect errors returned by f32
Version 2.00.537
================
(Made by StefanW, 19/11/2004)
1) RobertJ
1) DEF051746 System file Recoverablility test support trace output incomplete.
2) DEF051577 - SS Formatting of Generic MMC fails and leaves MMC card corrupted
2) MichaelMo
1) DEF050272 - T_LDRCHECK.EXE (of F32Test) failing in cedar Development branch
3) KamranN
1) Minor changes to add a test step in t_rename to test long path names
4) StefanW
1) Milestone: Sierra,GT0224,MS3.2 USB Mass Storage
Requirements: PREQ:544 USB Mass Storage
Version 2.00.536
================
(Made by DjordjeK, 16/11/2004)
1) KamranN
1) Fix for defect DEF047684 Trailing dots on SD card folder name upset windows 2000
2) MichaelMo
1) Fix for Defect DEF050650 - FAT filesystem accesses cache object after it is deleted
3) YingS
1) Fix for DEF051362 estart doesn't "Resume" sysstart.exe
4) RichardCo
1) Fix DEF051473 - Wrong file sources & paths in t_scn32dr3.mmp
5) AndrewJ
1) Marked default path APIs as deprecated as part of BR 1206.1
Patch to Version 2.00.535
=========================
(Made by RobertJ, 08/11/2004)
1) RobertJ
1) DEF051349 - [system build] E32_EKA2 warning (GT summary) in build 03411
Version 2.00.535
================
(Made by AndrewHi, 05/11/2004)
1) MichaelMo
1) Minor changes to the following f32 rofs tests to make them accept a drive letter from the
command line: t_rofsattrib, t_rofsdir, t_rofsfile, t_rofssoak, t_rofstime
2) Fixed Defect DEF049243 - ROFS Cache
3) Fixed DEF050910 - PlatSec: RRawDisk requires wrong capability
2) RichardCo
1) Fixed DEF048278 - F32tests B_FAT and B_FAT32 both fail when run on a lubbock's nand drive
3) MiguelB
1) DEF050516 - Read on duplicate file handle alters position of original file handle
4) YingS
1) MILESTONE: Mike,GT0223,MS3.2.1 PREQ808 - Seperate base starter from system starter.
2) Test case for above milestone.
5) RobertJ
1) MS 3.1.1 System File Corruption Recoverability (REQ 3831).
Added \f32test\server\t_corruptlog.cpp + support data files
Version 2.00.534
================
(Made by CarlosF, 25/10/2004)
1) AndrewJ
1) For defect DEF050391 [platsec] many components raising allfile warning due to RFs::Entry,
Although there is no issue with the checks made in the file server the in-source documentation
was incorrect so have put this right and inserted additional platsec diagnostic output for udeb
builds, it now displays the Full name being accessed when a platsec diagnostic output is triggered.
2) YingS
1) DEF050164 Search in Fileserver. TDrive::LocateFile() costs much boot time.
Change TParsePtrC to TParsePtr and move one TParsePtr construction out of the loop.
3) MichaelMo
1) Fixed Defect INC049197 - NTT f32test t_sess panics at RTest check
4) MiguelB
1) DEF050772 - CFatFileCB::FlushAllL() should re-enable notifiers before leaving
2). DEF050431 - ineffecient code in f32 path name checking
Patches to version 2.00.533
1) JonathanM
1. DEFECT FIX: DEF050624 - SS PlatSec: ESTART accessing file restricted by AllFiles
Version 2.00.533
================
(Made by GongjunC, 18/10/2004)
1) AndrewJ
1) BC break BR1203 where each subsession object now has it's own Close function, This is
part of PREQ 473
2) fixed DEF050099 [PlatSec] PlatSec checks on file open should be invariant to text/binary mode
2) MichaelMo
1) Fix for Defect DEF047398 - T_DSPACE fails on emulator
3) GongjunC
1) Fix for Defect DEF048753 - t_fsys test assumes nand drive is on EDriveI
4) YingS
1) Fix for Defect DEF050161 - Scandrive bug
Version 2.00.532
================
(Made by Kamran, 08/10/2004)
1) RobertJ
1) Defect Fix:DEF049245 - Mismatch in NAND driver and deflate read window size
Increase the inflate window size
2) YingS
1) Fix for Defect DEF047896 - Replace non-Ascii characters with hex equivalents
3) MichaelMo
1) Fix for Defect INC049224 - NTT b_osfil missing RTest.End()
Version 2.00.531
================
(Made by YingS, 22/09/2004)
1) AndrewJ
1) fix for DEF047409 Multi-threaded File Server uses non-shared notifier this includes a
BC, approved as BR1180
Version 2.00.530
================
(Made by JasmineS, 09/09/2004)
1) AndrewJ
1) fix for DEF047636 ROFS: RFS::IsFileInRom - documentation and usage - change in source comment for
API RFs::IsFileInRom() to indicate that this should not be used to ascertain whether a file is on
Z: or not. Simply whether it is ROM file sytem.
2) MiguelB
1) fix for DEF048660 - NTT - Problem inside File Server - F32 component.
After failing to find a unique short filename four times, the code now uses a random number
to generate the filename which greatly increases the likelihood of the filename being unique and
thus speeds things up.
2) fix for DEF045924 - T_SCN32DR1.EXE crashes on ARMV5
3) AndrewR
1) Fix for DEF048511 - EXE files could not be executed from LFFS drive (C:)
4) MiguelB
1) fix for DEF048144 - The FileServer crashes occationally when running B_OPEN.
Version 2.00.529
================
(Made by MichaelP, 27/08/2004)
1) AndrewH
1) MS 3.1.3 Platform security Hashing removable media (REQ 3573)
2) MiguelB
1) fix for DEF047438 - NTT - STABILITY: F32 has a potential memory leak in InstallRomFileSystemL()
Version 2.00.528
================
(Made by DjordjeK, 18/08/2004)
1) AndrewR
1) Fixed DEF047011 - Problem loading Exes from C: or Flash
2) KamranN
1) Fix for DEF046643 RFile::Read(TDes8&, TInt aLen,TRequestStatus&) doesn't properly
handle zero aLen
3) MiguelB
1) MS3.1.7 Platform security file handle sharing
4) RobertJ
1) Fixed DEF047896 - Replace non-Ascii characters with hex equivalents
Version 2.00.527
================
(Made by KamranN, 04/08/2004)
1) AndrewJ
1) Fixed DEF047103 Checks on Private path by the file server always assume lower case
2) KamranN
1) PREQ133: Out of disk space handling by the file server
3) PeterS
1) Implemented REQ3489: Dividing ESTART into separate generic and customisable parts.
Also implemented REQ3489.1: Extending ESTART to provide customisable support for
dealing with a corrupt filesystem on system start. This obviously involved changes
to ESTART. It also involved a change to RFs::SetLocalDriveMapping() to allow mappings
to be swapped before the mapping is committed.
Base Port Impact: See \documentation\Base_How_To_Estart.doc
Version 2.00.526
================
(Made by JonathanM, 26/07/2004)
1) AndrewJ
1) Fixed INC046058 Cedar file server makes priority assumption?
Version 2.00.525
================
(Made by AndrewH, 06/07/2004)
1) AndrewJ
1) Fixed DEF046379 - VFat short file names are not necessarily in caps
2)
2) AndrewHi
1) MS3.7.2 Sierra Nevada PREQ 729 (part 2 of 2) and PREQ 537 (part 2 of 2)
Security policy (capability) checking performed in APIs that require it.
Version 2.00.524
================
(Made by MichaelP, 17/06/2004)
1) AndrewJ
1) Fixed DEF045229 ELOCAL.FSY cannot be disabled in F32.IBY file
2) StefanW
1) Implemented REQ3383: Formatting locked MMC Card - Allows an MMC card to be formatted if the user forgets
the password. This is performed by using the new fileserver API "TInt RFs::ErasePassword(TInt aDrv)" to
issue the FORCE_ERASE command to the media via CMD42. If successful, this should be follows by a standard
'quick format' operation to create a fresh filesystem on the disk.
This change has Break Request confirmation numbers BR1056.1 and BR1056.2
Version 2.00.523
================
(Made by JonathanM, 26/05/2004)
1) Dennis
1) Fixed defect DEF044780 "Data Abort in loader thread when starting c:\eshell"
2) KamranN
1) Implemented the following CRs
(1) RFID-5RRAWL System, GT0177 Kernal and Peripherals, Support FAT volume-label file
(2) RFID-5PYCJR System, GT0177 Kernal and Peripherals, Use ruggedised FAT by default
(3) RFID-5PYCGQ System, GT0177 Kernal and Peripherals, Use one FAT for non-removable rugged FAT drives
Version 2.00.522
================
(Made by CarlosF, 14/04/2004)
1) AndrewJ
1) Fixed defect DEF041930 "Incorrect Distribution.Policy file"
Version 2.00.521
================
(Made by JonathanM, 31/03/2004)
1) ChrisM
1) Fix defect DEF041645 RFs::Volume returns the wrong infomation for emulated drives
Version 2.00.520
===========================
(Made by JonathanM, 19/03/2004)
1) JonathanM
1) Implemented the requirements:
REQ2632 - Configurability of the enforcement of capabilities
REQ2633 - Security violation diagnostic
REQ3142 - Associate Platform Security information with an executable.
See /cedar/generic/base/documentation/Base_How_To_Configure_Platform_Security_Settings.doc
Version 2.00.519
===========================
(Made by JonathanM, 26/02/2004)
1) JonathanM
1) Code changes resulting from:
Change Request JDOD-5VUJ7F - Change in executable format of EKA2 binaries.
2) Modified Loader to assign to all binaries those capabilities disabled during ROMBUILD.
Version 2.00.518
================
(Made by AndrewJ, 13/02/2004)
1) StefanW
1) Implemented CR INC030294:
Make it possible to Move a directory structure across drives using CFileMan.
2) AndrewJ
1) Fixed DEF023894 F32 leaks address space in the emulator by memory mapping files
repeatedly.
2) Fixed DEF039729 TParsePtrC creates a temporary TParse object on the stack.
3) StephanGu
1) Implemented CLCT-5VEK4P - "Binary search in ROFS
together with 'expanding ROFS entries with UIDs'".
Changed Rofsbuild to provide a sorted array of offsets
in order to allow the file system to perform binary search
through the image. Also expended the TRofsEntry structure
to include a copy of the file UID data.
Version 2.00.517
================
(Made by StefanW, 09/01/2004)
1) AndrewJ
1) Fixed DEF040165 Fat32 to move to class D
Version 2.00.516
================
(Made by StefanW, 19/12/2003)
1) AndrewJ
1) Fixed DEF039733 Bug in CFatMountCB::DoRenameOrReplaceL()
2) Fixed DEF039729 TParsePtrC creates a temporary TParse object on the stack,
this object no longer creates a tempory.
3) Fixed defect DEF038169 ScanDrive deletes Japanese named file
2) ChrisCr
1) DEF037406 - "bad relocation" error from PETRAN. Changed loop in ESTART.CPP
to avoid 'using' an address off the end of an array.
3) StephanGu
1) DEF040849 - "T_FSYS fails on drive F and K". Changed error code returned
when an attempt is made to dismount Z:
Version 2.00.515
================
(Made by JonathanM, 05/12/2003)
1) ChrisCr
1) DEF001193 - (Propagated) Files with scandic letters in the name might
be deleted during boot.
2) DEF015608 - CDirScan::NextL leaves when trying to scan \private and
\system directory.
Version 2.00.514
================
(Made by StephanGu, 13/11/03)
1) StephanGu
1) Added A3.4.2"PREQ12(REQ1752) - Support for NAND flash" increment.
Changed rugged FAT to be used by default, as this is needed by NAND flash.
Techview does not yet boot from NAND flash.
2) Fixed defect DEF037399 CProxyDrive::ControlIO not virtual
3) Fixed defect DEF037401 Filesystems ControlIo() doesn't call CProxyDrive::ControlIO()
2) AndrewJ
1) Added Support in the file server for the composite file server to enable the
loader cache to reinitialise after the Composite file system has been mounted.
Added swap file system API to allow the and atomic dismount and mount of a file
system. For NAND flash as per A3.4.2 PREQ12 (REQ1752) NandFlash on EKA2
2) For NAND flash as per A3.4.2 PREQ12 (REQ1752) NandFlash on EKA2 changed Estart to handle
Composite file system using the new RFs::SwapFileSystem() API
Version 2.00.513
================
(Made by JonathanM, 31/10/2003)
1) JonathanM
1) Fix for DEF038863 - Integration Test Harness (ScheduleTest) no longer works on EKA2
Assabet
2) Dennis
1) Fix problem loading RVCT binaries (svElfDerivedFixupImportAddresses always
returned KErrNotSupported.
Version 2.00.512
================
(Made by AndrewJ, 06/10/2003)
1) AndrewJ
1) Released Fat32 file system
2) Added support for TInt64 interface to disks. Only File system that supports
volumes large enough to test this at present is Fat32. implmented RRawDisk::Read()
and RRawDisk::Write functions with 64bit interface with corresponding server side
handling.
3) Added RFs::FinilaseDrives() API that along with server side handling. This searches
for the internal drive and calls finalise on the File system mount, The result is that
any final actions required on the drive before power down maybe carried out.
Version 2.00.511
================
(Made by JonathanM, 24/09/2003)
1) AndrewJ
1) Fixed defect DEF012073 (Propagated) Running F32test T_NMBS twice in a row,
LFFS gets st...
2) Removed incorrect code in the fileserver that used a pointer to look up the message
slot number to read or write. Now uses harded coded numbers.
2) Dennis
1) Use binary search in ROM file system.
2) Implemented CR ATHE-5PZEAU (Add Version Numbers to Symbian OS Executables).
3) ChrisCr
1) Added documentation tags to /f32/inc.
4) MichaelP
1) Fixed defect DEF038210 - "Missing error check in ESTART":
An RFile::Read() in function E32Main() is now properly assigning its return
code to the error code variable 'r' (file /f32/estart/estart.cpp).
5) JonathanM
1) Removed old and unused files. (F32.FTC and F32.MRP)
Version 2.00.510
================
(Made by JonathanM, 05/08/2003)
1) StefanW
1) Modified CFatFormatCB::DoFormatStepL to allow 'Special Format' and 'Quick Format'
to be performed together (ie - format /s /q).
2) Modified the LFFS filesystem to use logical addressing to prevent
runaway reclaims and disk corruption.
****************************************************************************
*** This version of the filesystem is incompatable with previous formats ***
*** so requires that the device is reformatted. make sure your data is ***
*** backed up before applying this version of the filesystem ***
****************************************************************************
The LFFS filesystem has been modified to use logical based addressing rather than
the original physical addressing scheme. This enables the reclaim process to
operate without incurring a loss of disk space, and prevents the filesystem from
entering the 'infinite reclaim' scenario where the device reclaims forever,
significantly improving battery life and performance under low disk space conditions
For a detailed description of the problem that this version addresses, refer to
CR PSCE-5GSNPF and the corresponding impact analysis.
1. Filesystem version incremented to V2.00.
2. The format of the segment header has been modified to include a logical segment number.
3. The format of the general Log Entry has been modified to include a pointer to the previous
log entry, and an extra 'Reclaimed' status bit.
4. Two new constants CRITICAL_LOG_ENTER/CRITICAL_LOG_GAIN added to allow read-only mode to
be entered should the remaining log space enter the critical threshold.
5. Constant SPACE_FOR_RECLAIM has been reduced from 500% to 200%.
7. The system enters Read-Only mode when the filesystem is unable to recover disk space.
In this mode, all user operations that write to the disk (apart from delete operations)
are not permitted.
8. The reclaim process has been modified such that log entries are moved directly into the
new segment without changing their logical address. Under non-critical conditions,
some entries will be moved to the end of the log to avoid excessive fragmentation.
9. The Segment class has been modified to store a bitmap of used/free log entry locations
within the segment.
10. Calculations of remaining user and log space have been modified to take into account
fragmentation of the log and the addressable data range to provide a more realistic
measure of remaining disk space.
This version of the filesystem also addresses the following issues
1. CLffsMountCB::EntryL doesn't check return code for readCurrentDirAttributes
2. The LFFS Can run out of disk space under extreme usage circumstances
3. LFFS should report zero free space if in read only mode
4. LFFS forced reclaim threshold too low
5. LFFS leaks resources if Create/Replace File fails due to read-only mode.
6. LFFS reports incorrect usable free space if filesystem is full with directories.
2) Dennis
1) Modified the loader so that passing an empty filename to LoadLocale will
restore the default locale settings.
2) Treat locale DLLs as loading into the file server rather than the kernel.
Their ABI should match that of the file server.
This works fortuitously at the moment, although there may soon be enum
problems. Longer term locale DLLs should be restructured so that the kernel
never needs to call them.
3) Markdo
1) Introduced the multithreaded fileserver. A file system can either be mounted
synchronously or asynchronously on a particular drive. Operations on a
asynchronous file system drive are handled in a separate drive thread. There
is also a thread to handle session disconnection.
Thread-safe reference counting objects and their containers have been added.
Notifiers have been modified so that a media change results in notification
completion only on the relevant socket.
4) ChrisCr
1) DEF022431 - (Propagated) The filesystem is corrupted and the device
won't boot at all anymore.
Version 2.00.509
================
(Made by JonathanM, 19/05/2003)
0. MarkDo, JonathanM and ChrisM
1. Changes resulting from making E32 compatible with with
Symbian OS version 7.0
1) Dennis
1) Fixed problem mounting CDROMs in ESTART.
2) Increase F32 heap size to 512K in direct memory model.
3) Fix from StefanW for LFFS failure to mount if a previous format was
interrupted before writing the Ifile.
2) Markdo
1) Fixed defect DEF000073 "FAT FS: checkdisk computes wrong cluster
count".
3) JonathanM
1) Fixed use of __DATA_CAGING__ in F32.
NOTE: F32TEST are not Dataging Complient as most use Default Path functions
4) ChrisCr
1) DEF015967 - Cannot format disk with DiskAdmin capability (add DiskAdmin
capability to Format and FormatNext)
Version 2.00.508
================
(Made by ChrisM, 17/03/2003)
1) AndrewJ
1) Added read only file system, ROFS to F32. This is a suplimentary file
system aimed at ROM over spill and similar that uses media sub-system
and can therefore be used for on a variaty of media, including non XIP
for binary files.
2) Added support for mounting Rofs on J: for platforms and V: for WINS
in estart.
2) Dennis
1) Extend RUNTESTS.EXE to check for leftover processes and to detect
spurious background activity.
2) The ELF-derived and JFormat flags have been generalised into header
format, import format and ABI fields. An entry point type field has
been added to distinguish EKA1 and EKA2 entry points.
3) F32IMAGE.H is now exported and is used in building E32TOOLS instead
of having a separate copy in E32TOOLS.
4) Removed code which opens handles in order to check if a client has data
caging enabled and replaced it with calls to the new RMessagePtr API.
5) Change loader and ROMBUILD to recognise earlier Jetstream binaries
which had the J flag in bit 3. If the new header format (bits 24-27)
is zero, bits 3 and 4 are checked for J and ELF respectively.
3) PeteS
1) Changed InitializeLocalDriveMappingL() in \SFILE\SF_MAIN.CPP to use
RLocalDrive::IsRemovable() rather than RLocalDrive::MediaDevice() to
determine socket number.
Version 2.00.507
================
(Made by JonathanM, 14/01/2003)
1) Nicolas
1) Fix for DEF002189 - eshell.exe should not have Root: Eshell now has Root
and DiskAdmin instead of All.
2) Fixed defect DEF012182 - Eshell.exe fails: Removed Root capability from
eshell.mmp. Eshell still has Root capability in base ROMs to ease
debugging.
2) AndrewT
1) Revamped Win32 local filesystem's use of MapEmulatedFilename() to pass
the entire path in to this function and removed defective double mapping
from some functions.
2) Discontinued support for relabelling Win32 volumes using
RFs::SetVolumeLabel(). Win32 wolumes are always reported as unnamed and
attempting to relabel them will return KErrNotSupported.
3) ChrisCr
1) 'Symbianised' LFFS to the coding standards (names of classes, member
functions and variables; comments to generate Doxygen documentation;
etc.). Note that this means that every file in LFFS has changed, and
most of the lines within each file.
2) DEF006380 - TFindFile::FindWildByDir(...) return incorrect error code.
Fix is to detect and return KErrPermissionDenied in
TFindFile::DoFindInDir(). Data caging tests modified to test this.
4) JonathanM
1) Modified the Loader so that it can handle 'ElfDerived' images.
5) AndrewJ
1) Fixed defect DEF012072 LFFS: String class inefficient, removed the
base class and changed name of the derived version + typedef.
2) Fixed defect DEF012074 LFFS: unnecessary buffer fill when creating a
directory entry
3) DEF012075 LFFS: Unnecessary buffer fills while searching directories
6) Stephangu
1) Submitted fix for "DEF015911 (Propagated) Camera:
Could snap more than 255 images but only 255
images were saved to MMC".
Version 2.00.506
================
(Made by AndrewT, 29/10/2002)
1) AndrewT
1) Fix for DEF002418 - ESTART has all capabilities
2) Relaxed meaning of 'EDataCagingOn' to merely indicate whether the data
cage should be enforced. So all new APIs are available with data caging off
and security violations are still traced when data caging is on.
2) Improved Data caging trace information to include the path name where
appropriate.
1) JonathanM
1) Changed all binaries which link to EFILE to get their capabilities from
include file "F32CAPS.MMH"
2) Changed loader to require KCapabilityAll for Device Drivers and Locales.
3) Removed all usage of RProcess::SecureApi and User::RemoveCapabilities.
Version 2.00.505
================
(Made by JonathanM, 21/10/2002)
1) StefanW
1) Fix for DEF000070 - Ambiguous error message in LFFS
2) Fix for DEF000109 - LFFS: bgThread pointer can be accessed before it has been set
3) Fix for DEF000160 - LFFS: reclaim thread infinite loop if it can't calc valid data.
4) Fix for DEF000185 - LFFS can miss the last log entry when reclaiming - updated
5) Fix for DEF000247 - LFFS inefficient code in reclaim finding last log entry in segment
6) Fix for DEF000370 - LFFS: calculateValidSize can exit without unlocking mutex
7) Fix for DEF000395 - LFFS: deadlock because rollfwd too far behind.
8) Fix for DEF000411 - LFFS does not protect against bit errors in StrataFlash
9) Fix for DEF000041 - Function doesn't do what it says.
10) Modified ControlIO to enforce use of TDes8 as required by the secure kernel
(modified in CL_DEBUG.CPP, and updated affected tests)
2) AndrewJ
1) Fixed pre load list
2) Inserted hashing code from security and hash checking code but not used yet
3) CiprianM
1) Fixed DEF001331 The behaviour of CCaptureKeys is that "the last one wins"
given equal priorities
2) Fixed defect EXT-5AKDAM "RFs: Folders with trailing dots cause big
problems in the Flash File system and applications that use the file
system". Lffs modified to handle trailing dot in the same way as the
fat file system.
3) Fixed defect FID-5C3LZ3 "Bad directory entry can panic FAT filesystem".
4) Fixed defect FID-5CDLEF "FAT FSY checkdisk doesn't allocate enough memory for
bit list".
5) Fixed defect OLD-5C7MAB "F32 Loader Cache does not update to see ROLF Drive on
bootup".
6) Fixed defect EXT-5BBB45 "RFs::NotifyChange() with 0length file name kills file
server".
7) Fixed defect EXT-5BMC53 "CFileMan::Copy() reports wrong for error for non-existent
matching names".
8) Fixed EXT-5AJ8DJ(DEF000541) "RFile method Write never completes"
9) Fixed FID-5DVK66(DEF001380) "LFFS: should check the flag validity for every log entry"
10) Fixed DEF001631 - eshell previous command recollection doesn't work with single
letter commands
4) ChrisCr
1) Fix for DEF000064: (Propagated) Bug in comparison with "ELOCAL" in
AddFileSystem::DoRequestL. Modified f32/sfile/sf_sys.cpp to match the
original defect fix.
5) RobertJ
1) Fixed DEF000848 - "Loader cache will not set up any notifiers if no valid drives on boot"
2) AndrewJ
1) Introduced file sharing between client and server processes
Version 2.00.504
================
(Made by JonathanM, 20/09/2002)
1. JonathanM
1. Changed RUNTESTS so that it lets the Loader find 'missing' test files.
This enables it to run tests which have been moved to \system\bin due
to data caging.
2. CiprianM
1. Fixed defect DEF001173 - Eshell.exe drive change command causes a
panic
Version 2.00.503
================
(Made by Nicolas, 16/09/2002)
1. RobertJ
1. Added support for compressed executables. Uses a deflate algorithm
Huffman+LZ77. Huffman code is in EUSER the LZ77 code is local. The
iFlags field has JFormat added (for non-xip) and the iFormat field
will either flag 0-uncompressed or be KUidCompressionDeflate which
as the label says means compressed with deflate. The deflate code
is virtually identical to that in Tools and should be kept that way.
2. Nicolas
1. Set ESHELL's 3rd UID to nul to work-around bug in UIKON preventing
from starting non nul 3rd UID executables from graphical shell.
Version 2.00.502
================
(Made by Dennis, 16/08/2002)
1. Dennis
1. iCheckSumCode and iCheckSumData in E32ImageHeader have been replaced by
iCapability and iFormat.
iCapability is passed into the kernel and used to set the capabilities
for that executable module and for any process instantiated from it.
2. Markdo
1. Ported defect fixes from Hurricane.
2. Introduced support for file server extensions at the plugin file system/
media subsystem interface. Primary extensions are mounted on a drive at the
same time as the file system whilst secondary extensions are mounted after
the file system has been mounted.
3. Modified file server startup so that the local file system has to be
explicitly loaded in estart on the necessary drives.
4. Modified drive letter to local drive mapping so any file system can be
mounted on any drive. This involved the following changes:
- RFs::SetLocalDriveMapping() introduced. To be called from estart.
- Removed CFileSystem::DriveList().
- Drive attributes only set if file system mounted on the drive.
- Local file system versions of DriveNumberToLocalDrive() no longer used.
5. Removed copyf32.bat and copyrel.bat from \f32\group.
Version 2.00.501
================
(Made by Dennis, 11/07/2002)
Memory model and loader changes.
Two mode secure kernel.
1. Dennis
1. Rewrote loader to support per-process writeable static data in DLLs
and to work with new kernel code management.
2. Loading of device drivers, file systems and locale DLLs is now done
entirely by the loader rather than partially on the client side.
3. Added generic automounting of file systems to ESTART, based on the values
returned by the media driver for media type and partition type.
FAT is only mounted on drives which return a FAT partition type or which
are removable, not ready and don't return a media type of FLASH or CDROM.
4. Remove masking of file attributes in file server to allow the new ROM XIP
attribute to be reported.
5. Added ISO9660 and NTFS (read only) file systems.
6. Integrated platform security changes (data caging).
7. Changed "z:\system\data\Dll Preload List" to "z:\system\data\preload.lst"
to avoid moronic spaces in filenames which knacker tools.
8. Changes resulting from TInt64 now being a built-in type instead of a class.
9. In ESTART for the emulator, disable preemption before calling ExitProcess()
when the initial EXE has terminated.
Version 2.00.500
================
(Made by AndrewT, 21/05/2002)
First release of EKA2 into Symbian OS mainline.
Version 0.01.279
================
(Made by Dennis, 04/04/2002)
1) Markdo
1) Fixed defect BRY-58DQ8A "RDebug::Prints in F32".
2) Fixed defect BRY-58DPTJ "RDebug::Print in cl_parse.cpp".
Version 0.01.278
================
(Made by CarlosF, 12/03/2002)
1) Markdo
1) Fixed defect DON-57ZNSZ "Mounting a file system with a locked media can
panic the file server". Migrated from 6.1.
2) Fixed defect DON-582CPM "GetLongName() doesn't give KErrNotFound on deleted
file". Migrated from 6.1.
3) Fixed defect DON-582CS7 "Invalid cast between incompatible enums in
TDrive::DriveInfo". Migrated from 6.1.
4) Fixed defect DON-582CY5 "FAT FS: free cluster search doesn't search entire
FAT". Migrated from 6.1.
5) Fixed defect DON-57ZLSH "& vs && in TFindFile".
6) Fixed defect DON-582FQW "Secure MMC: TFindFile should not scan locked
drives. Migrated from 6.0.
7) Fixed defect DON-57ZLVM "Incompatibility of FAT between EPOC and MSDOS".
Unused fat entries are no longer 0xff filled after formatting.
8) Fixed defect DON-585JBS "Memory card password file shown in dialogs".
Password file is now stored as c:\system\mmcstore.
9) Fixed defect DON-586FXT "ESHELL start command doesn't report errors".
2) Pete
1) Changes associated with implementing CR PHAR-54RJMT 'We should be able to simulate
password protected disks on the emulator'.
3) AndrewJ
1) Submitted a fix for FID-544KQJ where the LFFS is limited to 256 segments. Now uses
a dynamic number of segments based on the physical media
Version 0.01.277
================
(Made by ChrisM, 06/03/2002)
1) Markdo
1) Removed unnecessary call to TBusLocalDrive::Caps() in
CLffsFileSystem::DriveNumberToLocalDrive().
2) Modified CFatMountCB::MaxClusterNumber() to use right shift.
3) Fixed defect PRX-57D69V "executive call overhead in rom fs".
Rom address header is now stored in CRom.
4) Implemented CR MDON-57HLDW "RFs::LockDrive() should not allow
user to not store password". Both LockDrive() and UnlockDrive()
now return KErrNotSupported if the password is not stored.
2) AndrewJ
1) Submitted RichardF's read ahead cache to optimise log reads in the log flash
file system
2) Submitted fix from RichardF for defect FID-54YDZT where a forced reclaim can use
all erased space and cannot be recovered, for the LFFS system.
3) Submitted Code from RichardF to fix FID-568L6X where lffs leaves orphaned entries on the
list when a write fails.
Version 0.01.276
================
(Made by RobertJ, 11/02/2002)
1) Markdo
1) Fixed defect PRX-573BNC "Preload() (little perf improvement)". The function
now returns immediately if the preload list is not found.
2) Fixed defect FID-573GWT "LFFS stack size should take account of
_DEBUG_RELEASE".
2) Peter
1) Extended the class CFatFormatCB in the FAT file system by adding the
following new members:-
TInt iNumberOfHeads;
TInt iSectorsPerTrack;
When formatting a FAT disk, these new members are set as part of
the function CFatFormatCB::InitializeFormatDataL() when formatting first
commences. They are used to initialise the corresponding fields in the boot
sector once the physical formatting of the disk has completed.
2) Changes to FAT file system special formatting mode.
The 'number of heads' and 'sectors per track'
info. is read from the local drive caps. and written two the above
two data members of CFatFormatCB.
Version 0.01.275
================
(Made by PeterS, 04/02/2002)
1) MarkCa
1) Fixed FID-562G4V (App can kill F32 by attempting to mount filesystem on
unsupported drive.) Changed CFatMountCB::MountL() and
CFatFileSystem::DriveInfo() to check if running on supported local drive.
2) Added file system adding and mounting error checking to E32Main()
for ESHELL.
3) Fixed FID-566G8P (Bug in comparison with "ELOCAL" in AddFileSystem) by
changing CompareF() in TFsAddFileSystem::DoRequestL() to check for
"ELOCAL.FSY" filename and extension.
2) Nicolas
1) Added new debugport command to eshell. See E32 367
release notes for details.
2) Fixed bug in gobble and setsize eshell commands which
wrongly reported errors when using hexadecimal sizes.
3) Markdo
1) Fixed defect BEN-4YRGKV "Ecom not recognising plugins once unplugged and
replugged". RFs::Rename(), RFs::Replace(), and RFile::Rename() now have
source and destination entries checked by extended notification mechanism.
Version 0.01.274
================
(Made by MarkCa, 15/01/2002)
1) Peter
1) Changes to FAT file system to add support for a
special formatting mode. This
formatting mode is selected using the TFormatMode: ESpecialFormat.
Corresponding changes to the 'Format' command in
ESHELL so that drives can be formatted in this mode from the shell by
using the switch /s (e.g. 'FORMAT D: /S').
2) Migrated FAT file system optimizations implemented in
the 6.0 release. This include2 the following changes:
- 6.0 defect EDNMDON-537CZA "Directory creation in FAT causes unnecessary
disk writes".
- 6.0 defect EDNGLAY-53UCDG "Unnecessary flushing of the fat when writing
to a file for the first time".
- 6.0 defect EDNGLAY-53UCLA "Unnecessary metadata writes when creating entry
in fat file system".
- The #defines _ABSOLUTE_LRU_SIZE _ and USE_TRUE_LRU_CACHE uncommented in
SFAT\SL_CACHE.CPP so that a true lru cache of 32KB is used for metadata.
- Modification to CFatMountCB::AddDirEntryL() so that end of directory
marker only written if not already zero.
Version 0.01.273
================
(Made by AndrewJ, 12/12/2001)
1) Markdo
1) Fixed defect DON-4ZKD9H "File server does not fully support write
protected media".
2) Fixed defect DON-53ZDXF "Build error in file server when _LOCKABLE_MEDIA
not defined".
2) AndrewJ
1) Fixed JON-53BMJZ (RRawDisk de-references a null pointer when used on a
corrupt drive (due to forced a mount)) changed the behaviour of
RRawDisk objects so that they be prevented on a corrupt disk or one
that is being formatted. Only one RRawDisk object should be able to
access a mount at once. Similar behaviour has been implemented for
RFormat objects as well, they will obviously have access to corrupt
drives.
3) MarkCa
1) Fixed DON-4V7BUZ (KErrNoMemory cannot be returned on c:)
2) Fixed CFileCB::~CFileCB, which called iLock->Close() without checking
if was successfully allocated.
3) PeterH
1) Integrated changes to DEF files from the mainline.
Frozen exports are now marked with the R3UNUSED flag where appropriate.
This is to support the thumb stub optimisation where the R3 register is
use to generate a smaller import stub for a function if it isn't used to
receive parameters.
Version 0.01.272
================
(Made by MichaelP, 20/11/2001)
1) MarkCa
1) Fixed PEN-52ZM5A (Function doesn't do what it says.) Changed comment
for IsSpace() in sfile\sf_utl.cpp.
2) Fixed FID-4W5BYE (Ambiguous error message in LFFS.) Changed
Inode::readBlock() to distinguish between CRC and media driver errors
when reading a block.
3) Simplified media driver loading in F32 startup thread.
2) AndrewJ
1) Fixed defect MAY-4ULHBH (B_OPEN crashes the file server on LFFS) by increaseing
the Log size in the lffs file system, note the size of the lffs dive on assabet
has been reduced to 8Mb.
2) Fixed defect FID-537HQA (LFFS: increase reclaim thread stack size) by doubling
current stack allocation as suggested in the defect report.
3) Markdo
1) Fixed defect DON-4WXDHK "RFs::RemoveFileSystem does not return correct
error value". KErrNone is now returned when a file system has been
successfully removed.
2) Fixed defect THY-4WKD5P "gobble (in eshell) can delete existing files". If
the file already exists then gobble fails but does not delete the file.
Version 0.01.271
================
(Made by Dennis, 26/10/2001)
1) MarkCa
1) Fixed 6.1 defect DON-52SC7L (Disk space notification does unnecessary
checking for RFile::Write.) Added TBool iFreeChanged instance variable
to CMountCB. TFsFileWrite::DoRequestL() sets this iff the file size
has changed. CSessionFs::Complete() uses the value stored in
DiskSpaceInfo[iTheDrive.iDriveNumber].iFreeDiskSpace if the file
size has not changed.
Version 0.01.270
================
(Made by ChrisM, 05/10/2001)
1) MarkCa
1) Fixed DON-4ZKDKK (Moving a directory leads to incorrect parent directory
cluster number.) Parent Directory Pointer FAT entry is updated at end
of CFatMountCB::DoRenameOrReplaceL().
2) Markdo
1) Fixed defect DON-4ZSLL9 "CMountCB::ControlIO cannot be called when
RRawDisk subsession open". ControlIO can now be called when a RRawDisk
or RFormat subsession is open.
2) Fixed defect DON-52FJDQ "RFs::ReadFileSection() does not alway return
correct data".
Version 0.01.269
================
(Made by AndrewT, 31/08/2001)
1) RobertJ
1) Implemented a loader file names cache to speed up loading dlls & executables.
Added sf_cache.cpp,sf_cfind.cpp & sf_cache.h. Extensively modified sf_ldr.cpp.
2) Implemented change request PGEN-4VXMEM "Load and run ROM executables from RAM"
2) Pete
1) Changed /F32/INC from IPR category A to category E (SC change request EJAN-4Z5GEA).
Version 0.01.268
================
(Made by Peter, 06/08/2001)
1) Markdo
1) Fixed defect DON-4YTBWB "Removing cf-card whilst formatting can crash the
file server".
2) Fixed defect HOH-4RGFJN "Scandisk doesn't like the way that we make
directories". Each directory is now zeroed on creation.
2) Pete
1) Removed \f32\group\mnt.bat which was redundant.
2) Addition of the function RFs::RemountDrive(TInt aDrive,const TDesC8* aMountInfo=NULL,TUint aFlags)
Version 0.01.267
================
(Made by JonathanM, 17/07/2001)
1) Andrew
1) Migrating fix from 6.1/6.0 in fileserver where cancelling a move operation
results in the wrong file being deleted and the corrupt/half copied version
left. (JON-4WAH8L.)
Version 0.01.266
================
(Made by Michael, 21/06/2001)
1) MarkDo
1) Fixed defect OEL-4V2H8V "Disk notifications do not come in for devices
with ramdrive".
2) Modified file server to allow requests to be handled when the
non-critical password notifier is up. Changes to CServerTask,
CAsynNotifier and the parsing functions. Introduction of
CNonCriticalNotifier and TFileServerHung classes. Modified
TDriver::HandleCriticalError() in fat file system so that password
notifier is only brought up if user notification set. See defect
DON-4XNK65 (File server requests are not handled when a password
notifier is up).
3) Introduced additional commands to CFatMountCB::ControlIO and
TFsControlIo::DoRequestL to allow testing of 2).
4) Modified RUNTESTS. This can now take two additional arguments
with the new syntax:
runtests <script> <dir> <timeout> <args>
<timeout> is the timeout period in minutes. <args> is passed into
all the test processes created. Also introduced #defines to allow
no timeout to be used, runtests to exit on the first error and for
the batch file to be repeatedly read. Introduced to test 2).
2) MarkCa
1) Modified \sfat\sl_fsy.cpp to or in KMediaAttHasPassword when a
media is locked. This is part of e32 fixes EDNHLJT-4WZGTD and
EDNHAAO-4WZFYR.
2) Fixed EDNDBEY-4W5EM6 (Secure MMC password not remembered) by
using absolute filename for password file in f32fsys.h.
3) Implemented CR PSCE-4VMP3K to set hard limit for RAM drive.
CFatMountCB::Enlarge() checks against limit, and CFatMountCB::VolumeL()
caps size.
Version 0.01.265
================
(Made by Carlos, 31/05/2001)
1) Nicolas
1) Changed runtests.exe so it displays the duration of
the tests in seconds.
2) Markdo
1) Fixed defect DON-4VWCWG "Windows does not like the way we make some dos
entry names".
2) Enabled LFFS tracing to be turned on via RFs::SetDebugRegister().
Use /t switch with trace command for text shell.
3) Tim Band
1) Deprecated CompareFilenames function and changed the function that used
it back to CompareC
Version 0.01.264
================
(Made by Pete, 10/05/2001)
1) MarkCa
1) Added base support for store LFFS optimization. New function Drive()
added to RFile.
Version 0.01.263
================
(Made by Nicolas, 04/05/2001)
1) Nicolas
1) Merged 6.1 release branch back into the mainline.
Version 0.01.262
================
(Made by Dennis, 20/04/2001)
1) RobertJ
1) Fixed defect EDNMHEY-4FEKYU Searching for "Dll Preload List" takes
too long.
2) AndrewJ
1) Changed F32.iby so it only includes the default e32strt.exe if
CUSTOM_ROM is not defined.
2) Removed refrences to the BASE_ROM definition as an include option as
it is now obsolete.
3) Pete
1) Fixed SCE-4VJJ32 "F32\SLFFS should be IPR category A, not category E"
Version 0.01.261
================
(Made by RobertJ, 26/03/2001)
1) MarkCa
1) Fixed EDNJHAS-4KFR5G (File handle mis-management crashes the kernel)
2) Removed spurious debug in ShellCommand::(Lock|Unlock|Clear)().
2) Markdo
1) Fixed bug EDNMDON-4KUCTK "Locked multimedia card can panic file server".
Return value of KErrBadHandle from password notifier is now handled
correctly.
3) Andrew
1) Fixed JON-4URH39 Format problem for segments count greater than 100
on LFFS
2) Fixed TOD-4RWEHL KErrNoMemory problem in FindWildByDir()
4) MarkCa
1) Modified StartupThread() in sf_main.cpp to scan for media drivers
instead of explicitly loading them by name.
Version 0.01.260
================
(Made by Morgan, 08/01/2001)
1) Morgan
1) Made the loader cope with DLLs with no imports
2) Markdo
1) Fixed defect DON-4TXKUB "TEntry needs copy c'tor and =operator".
2) Fixed defect THE-4UBE55 "Corrupted FAT and cross-contaminated
files after file truncation". Seek index is now cleared in the
correct way.
Version 0.01.238
================
(Made by Morgan, 09/04/2001)
1) Nicolas
1) Fixed bug in ESHELL/HEXDUMP introduced when switching to Unicode
(the right part of the ASCII dump is now correct).
2) Andrew
1) Fixed defect FID-4UZLMW Enable controlio in UREL builds
2) Fixed defect CHM-4TSNF3 file server can not cope with invalid file names
3) Fixed defect CHM-4URFMZ server panics when scanning max length files
3) RobertJ
1) Fixed defect EDNMHEY-4FEKYU Searching for "Dll Preload List" takes
too long.
4) Pete
1) Fixed SCE-4VJJ32 "F32\SLFFS should be IPR category A, not category E"
Version 0.01.237
================
(Made by Will Ramsay, 03/04/2001)
1) Backported change from Morgan to 6.2
1) Made the loader cope with DLLs with no imports
Version 0.01.236
================
(Made by MarkCa, 20-03-2001)
1) Markdo
1) Fixed bug EDNMDON-4KUCTK "Locked multimedia card can panic file server".
Return value of KErrBadHandle from password notifier is now handled
correctly.
2) Andrew
1) Fixed JON-4URH39 Format problem for segments count greater than 100
on LFFS
2) Fixed TOD-4RWEHL KErrNoMemory problem in FindWildByDir()
Version 0.01.235
================
(Made by Nicolas, 27-02-2001)
1) Markdo
1) Fixed defect DON-4TXKUB "TEntry needs copy c'tor and =operator".
2) Fixed defect THE-4UBE55 "Corrupted FAT and cross-contaminated
files after file truncation". Seek index is now cleared in the
correct way.
3) Fixed defect HAR-4UDN92 "Calling RFs::NotifyChangeCancel without
first calling RFs::NotifyChange crashes the file server".
2) MarkCa
1) Fixed EDNJHAS-4KFR5G (File handle mis-management crashes the kernel)
2) Removed spurious debug in ShellCommand::(Lock|Unlock|Clear)().
Version 0.01.234
================
(Made by Pete, 19-01-2001)
1) Pete
1) Merged in version R1.3 of Log Flash File System (LFFS) - released
by ENEA. Release notes for additional features this provides:-
New features:
- Retry of failed erase operations. (Compensates for faulty hardware)
Corrected problems:
- Unable to mount in an unusual situation when power down during
write caused write failure of two specific bits. The two
"outdated" or "transaction start" bits were required to match for
mount to succeed.
- Bad behaviour related to allocation of media space.
- Several minor bugs.
This fixes defect FID-4RZGU4 "Power loss can corrupt LFFS filesystem".
2) Fixed defect FID-4R9MPF "LFFS doesn't obey the rules for RFormat".
3) Fixed defect FID-4QVF5C "Reduce heap & stack size for LFFS reclaim thread".
4) Fixed defect FID-4STGGU "LFFS CRC function can be optimized".
5) Fixed defect FID-4RTE6Q "Make F32 auto-mount LFFS under WINS".
6) Fixed defect FID-4RDE2S "Source code change required for mounting non-FAT filesystem as local"
Version 0.01.233
================
(Made by RobertJ, 13-12-2000)
1) Morgan
1) Loader speed improvements. Dll's that are already loaded in the
system are loaded using information available from the kernel,
rather than going to disk.
2) Markdo
1) Fixed defect EDNRFID-4KZGXR "ESHELL Gobble command should put
real data in the file". Gobble now fills file with 0xef. New
eshell command SETSIZE introduced which sets size of file but
does not fill. The file is created if it does not exist.
2) Fixed defect HOH-4RDLVN "RFs::GetDir reports KErrCorrupt if only
one file is corrupt". This fix only applies to the fat file
system.
3) Fixed defect HOH-4RGEXH "Corrupt on CF card when OOM/Low on Mem".
Free cluster count in fat file system is now calculated from
clusters available.
4) Fixed defect HOH-4RGF97 "RFs::NotifyChangeCancel(TRquestStatus&)
can fail in Debug builds".
5) Fixed defect HOH-4RGFCJ "Renaming long filenames causes a Kernel
Panic".
6) Fixed defect EDNRFID-4NGJCT "Bad cast in LFFS loses significant
bits on >16Mb flash".
7) Fixed defect EDNRFID-4PYF2E "Change priority of LFFS background
thread".
8) Modified fat table caching so that dirty array is used when cache
is written to. When flushing only sectors marked as dirty are
written to disk. These changes required additional pure virtual
functions to be added to CDataCache class. This feature can be
enabled/disabled using #define _USE_DIRTY_FIXED_CACHE.
9) Introduced two new #defines in \F32\SFAT\SL_CACHE.CPP:
_ABSOLUTE_LRU_SIZE
allows absolute lru cache size to be set in CLruCache
class.
_USE_TRUE_LRU_CACHE
allows true lru caching to be used in CLruCache class. At
present fifo caching used.
Both #defines are commented out awaiting further benchmarking.
10) Introduced disk space notification. Client can now be notified when
the free space for a drive crosses a threshold specified by the
client.
11) Modified initialisation when file server passed a handle to an
existing subsession object. The data member iTheDrive is now set
for the session. This is necessary for disk space notification.
3) RichardF
1) Added disk space notification to LFFS filesystem. This adds a
notification from the background thread after completing a
reclaim or roll-forward operation.
2) Added a new ControlIo function to LFFS for testing disk
space notification. CIO_BACKGROUND_NOTIFY_DISK_SIZE allows
test code to force a value into the reclaim thread. The next
notification from the reclaim thread will use this value instead
of the real disk space. This is one-shot so subsequent
notifications will report real disk space.
Version 0.01.232
================
(Made by Nicolas, 19-10-2000)
1) Pete
1) Modified the file server so that it now attempts to
load MMC Media driver (MEDMMC.PDD) rather than Compact Rom Media
driver (MEDCRM.PDD) on startup.
1) Nicolas
1) Modified ESHELL "DEBUG" command so it can launch the new GDBSTUB.
Version 0.01.231
================
(Made by MarkCa, 29/09/2000)
1) Markdo
1) Fixed bug EDNDKNT-4NVNBN "Behaviour of RFormat::Next() has changed
since ER5". Extended change notification request when drive is locked
is now handled in same way as when path is not found.
Version 0.01.230
================
(Made by Dennis, 13-09-2000)
1) William
1) In SF_LDR.CPP, use User::Free(anIdle) instead of delete anIdle since
anIdle is a TAny* and there is no destructor which could be called.
2) Replace the non-debugging uses of _L() with _LIT() in SF_LDR.CPP
2) Dennis
1) Added code to ESTART to restore the modifiable HAL attributes from file
\System\Data\HAL.DAT. This is loaded from any drive in the usual search
order.
Version 0.01.213
================
(Made by RobertJ, 20-07-2000)
1) Markdo
1) Added patch from ENEA to stop LFFS entering read-only mode
incorrectly.
2) Added patch from ENEA to fix LFFS failure to delete file from root
when disk is full.
Version 0.01.212
================
(Made by RobertJ, 29-06-2000)
1 Markdo
1) Fixed defect EDNDBAR-4KDK8H (TKeyDir::Compare should use
TDesC::CompareC, not TDesC::CompareF). A new exported function
CompareFilenames(const TDesC& aFileName1,const TDesC& aFileName2)
has been added to the file server. This function is only used in
TKeyDir::Compare.
Version 0.01.211
================
(Made by Dennis, 22-06-2000)
1) Morgan
1) Fixed EDNABAN-4AEECH. Made the Loader notice the KNoCallEntryPoint
flag when loading executables from Ram.
2) Dennis
1) Made ESTART call HAL to ensure that HAL's memory is allocated.
Version 0.01.210
================
(Made by Markdo, 07.06.2000)
1) Markdo
1) Merged in changes made to \F32\SLFFS\ on lffs acceptance branch.
2) Fixed defect EDNMDON-4KGM6E (Hung file server does not correctly deal
with session that has been killed).
3) Fixed defect EDNMDON-4LSEXD (File server panics if scandrive called
at startup).Changes to ensure scandrive called correctly in startup
thread.
2) MarkCa
1) Implemented bug fix EDNMDON-4J2EWK in \f32\sfat\sl_file.cpp.
Version 0.01.209
================
(Made by Alastair 23.5.2000)
1) Alastair
1) Removed changes made in version 207 to enter and leave the kernel
critical section around calls to Win32's LoadLibrary() function, now
that E32 is calling Dll entry points rather than leaving this up to
the Windows operating system to do.
Version 0.01.208
================
(Made by MarkCa, 16/05/00)
1) Markdo
1) Removed compiler warnings.
Version 0.01.207
================
(Made by Morgan, 7/4/2000)
1) MarkCa
1) Minor changes to ETSHELL\TS_COM.CPP in lock, unlock and clear commands
to print command information.
2) Markdo
1) Mmc security features disabled. To enable define _LOCKABLE_MEDIA
in \E32\INC\E32SVR.H.
2) Changes to remove (some) compiler warnings.
3) Added reserved virtual function in CMountCB.
3) Alastair
1) Added code to enter the kernel critical section before the Win32 call
to LoadLibrary() in \f32\sfile\sf_ldr.cpp and leave it afterwards. This
is in order to avoid deadlock with NT Service Pack 5 where the LoadLibrary()
call is deadlocked with some other thread, probably one which has the
Kernel critical section and is waiting on an internal NT lock for the
library to finish loading. This change that under WINS/WINC libraries
can't make any calls which will require the kernel critical section, such
as kernel executive calls, in their entrypoints when EDllProcessAttach and
EDllThreadAttach is passed as the aReason parameter.
2) Added RDebug::Print statement so that the name of a library which fails
to load is reported to the Output window in the Debugger.
4) Pete
1) Modified file server and FAT file system to use
UseHal::DriveInfo() to determine whether to implement a rugged file
system.
2) Added latest version of Log Flash File System (LFFS) - released with 4th
candidate version (R1.2) of LFFS.
3) Added #define _DEBUG_RELEASE to F32\INC\F32DBG.H to allow debugging
in release builds.
4) Added the debug functions RFs::DebugNotify() required for LFFS testing.
Version 0.01.206
================
(Made by Dennis, 23.03.2000)
1) MarkDo
1) Implemented RFs member functions LockDrive,UnlockDrive and ClearPasword.
Added corresponding virtual functions to CMountCB class which return
KErrNotSupported. Overrode these functions in CFatMountCB class.
2) Changes to TDrive functions dealing with the mounting of a device. If
disk access returns KErrLocked then asynchronous notifier brought up
requesting password.
3) Added exported WriteToDisk(const TDesC& aFileName,const TDesC8& aBuf)
function in file server. Used to write buffer to root of default drive.
4) Modified file server startup code so that file KMediaPWrdFile is used to
initialise mmc controller password store.
5) Appended L to RestartActiveScheduler(CSessionFS*) function name. This is
no longer exported from the file server. Removed RestartActiveScheduler()
function.
6) Modified CAsyncNotifier class. Function added to call extended notifier.
RestartActiveScheduler now called from within member functions.
7) Modified TDriver class. If CFatMountCB::Remount returns KErrLocked then
attempt made to unlock card.
8) Fixed bugs EDNGASR-4GUL9U and EDNGASR-4GSES9. TFileText now checks for
Unicode byte order mark and paragrah separator. TFileText::Seek is longer
const and clears it read buffer.
2) MarkCa
1) \F32\ETSHELL\TS_COM.CPP
Changed lock, unlock and clear commands to use actual RFs functions.
\F32\SFILE\SF_STD.H
Defined datatypes for delayed writer thread.
Added EMainStartupWriteToDiskSemaphore to TFsFault.
\F32\SFILE\SF_DISK.CPP
Implemented async thread for so file server can write data to file.
\F32\SFILE\SF_MAIN.CPP
Created global semaphore for queuing delayed writes in startup thread.
3) Pete
1) Added the debug function RFs::DebugNotify() required for LFFS acceptance testing.
Version 0.01.205
================
(Made by RobertJ 20-03-00)
1) MarkCa
\F32\ETSHELL\TS_COM.CPP
Added ShellFunction::(Lock|Unlock|Clear) functions.
Included functions in CShell::iCommand[] array.
\F32\ETSHELL\TS_STD.H
Added ShellFunction::(Lock|Unlock|Clear) prototypes.
Increased ENoShellCommands from 24 to 27.
Version 0.01.204
================
(Made by MarkCa 03-03-00)
1) MarkCa
\F32\INC\F32FILE.H Additional RFs prototypes
\F32\INC\MESSAGE.H EFs((Lock|Unlock)Drive|ClearPassword)
\F32\SFSRV\CL_CLI.CPP RFs::((Lock|Unlock)Drive|ClearPassword)
\F32\SFILE\SF_FUNC.H TFsLockDrive, TFsUnlockDrive, TFsClearPassword
\F32\SFILE\SF_MAIN.CPP CSessionFs::ServiceL dispatch cases
\F32\SFILE\SF_SES.CPP TFs((Lock|Unlock)Drive|ClearPassword)(DoRequestL|Initialise) stubs
Version 0.01.203
================
(Made by Dennis, 14-02-2000)
1) Dennis
1) Replaced most UserHal:: calls with corresponding HAL:: calls (if they
exist).
2) Mark
1) Added debug function RFs::ControlIo(TInt aDrive,TInt aCommand,
TAny* aParam1,TAny* aParam2). Originally added for LFFS
acceptance testing. Can be used as debugging tool for file
system by overriding virtual CMountCB::ControlIO().
2) Added debug tool to fail writes to disk in TDriver class. Write
failure info is stored in CFatMountCB and set via RFs::ControlIo().
On write failure a specified error value can be returned or the
machine reset.
3) Added scandrive utility for fat file system. Checks drive for
specific errors and corrects them. Does not run on internal ram
drive. Called at file server startup on Linda platforms.
4) Ruggedised fat file system. If iIsRugged flag in CFatFileSystem
set then in the event of power failure fat/metadata will be in
a valid state if the scandrive utility is run immediately after.
iIsRugged flag set for Linda platforms and can also be set/unset
using RFs::ControlIo().
5) Changed CRamFatTable::MemCopy to ensure ram drive is locked before
returning from this function.
Version 0.01.202
================
(Made by Dennis, 19th January 2000)
0) Use with E32(255)
1) Dennis
1) Removed calls to EUSER functions which no longer exist.
2) Alastair
1) Removed MARM, SARM, ARM3 and SARM3 configurations from BLD.INF.
3) Pete
1) Change to FAT file system raw disk read/write. Required due to E32
change where TBusLocalDrive Read(), Write() Format() functions
use a TInt64 rather than a TInt to specify position within the drive.
Version 0.01.201
================
(Made by Morgan, 3/12/99)
0) Use with E32(253)
1) Mark
1) Changes to CRomMountCB::RawReadL(),CRomMountCB::ReadSectionL()
and CFatMountCB::ReadSectionL(). RThread object is now set to
handle of client. Fixes er5u bugs EDNPSCE-4C6JBG and
EDNMDON-4C7CHN.
2) Morgan
1) Removed 256 character limit on command lines
Changed CSessionLoader::LoadProcess to understand new RLoader
RMessage with extra command line parameter. See E32(253).
Version 0.01.200
================
(Made by Simon)
1) Mark
1) Merged in changes from ER5v134 that fixed bug MDON-484D9G
'32Mb Ram results in corrupt Ram Drive'.
2) Merged in changes from ER5v134 that fixed bug MDON-484CRH
'64Mb Ram drive cannot be used'.
3) Modified CFatFileSystem::DriveInfo so that TDriveInfo::iDriveAtt
is set here.
Version 0.01.158
================
(Made by Anonymous)
1) Pete
1) Added Log Flash File System (ELFFS.FSY) - 1st alpha.
2) Malcolm
1) Added estart to the build. This is a placeholder for the
variant specific estart.exe that will run the product specific
startup. If BASE_ROM is specified when building roms then
f32.iby selects e32strt.exe rather than estart.exe for placing
in the rom as estart.exe, as e32strt is the dummy
implementation for base text roms.
EStart is now started by the FS rather than ewsrv.exe, and
only from z:
Version 0.01.157
================
(Made by Mark, 16/09/99)
1) Mark
1) Fixed bug EDNMHAN-4AFMWT (The internal drive is called "Inte").
2) Fixed bug EDNMDON-4BPC5M (F32 tracing can reset machine).
3) Fixed bug EDNMMIR-4BBNVD (RFs::ReadFileSection fails on Unicode ROMS).
Version 0.01.156
================
(Made by Morgan, 28/8/99)
1) Pete
1) Changes to allow proper media change notification on platforms with
more than one PC Card socket. The file server now requests media change
notfication on each socket, rather than just socket 0. (This requires an
associated change to e32 introduced in E32 release ???).
2) Dennis
1) Modified F32.IBY to allow ROMs to be built with ARM4/ARMI/THUMB code.
3) Alastair
1) Removed narrow frozen .DEF files.
2) Re-frozen all .DEF files in new format so that the C++ name
appears with the mangled name for all exports and windiff can be
used to compare frozen .DEF files with generated .DEF files.
Version 0.01.155
================
(Made by Alastair, 2.8.99)
SOURCE-ONLY RELEASE
Built with MSVC6
CHANGES TO RELEASABLE
1) Alastair
1) F32 now releases zip files for ARMI, ARM4 and THUMB in the same style as
it's other releasables, and no longer produces a MARM zip file. To use
these releasables it's necessary to use E32TOOLP version 120 and the new
GCC compiler.
This change is academic since the release is source-only and has been
built with the old gcc compiler.
2) Alastair
1) Updated BLD.INF to work with the new GCC compiler and changes to
E32TOOLP version 120.
2) Changed ESHELL attrib command to use slightly less stack so that it
compiles under MSVC6.
Version 0.01.148
================
(Made by Kal Patel 22 July 1999)
Rebuilt with latest E32.
Version 0.01.147
================
(Made by Dennis 13.7.1999)
1) Alastair
1) Added dopcvs.pl and lock.pl to GROUP directory for use with MNT.BAT.
2) Added fetcher definition file, F32.FTC, to the group directory.
2) Mark
1) Fixed ER5 bug EDNWROS-45WGVY(Can't execute 8.3 program from CF card
under Unicode).
2) Fixed ER5 bug EDN028229(Unicode shell doesn't display disk name
correctly). Volume name is limited to ascii characters with a max
length of 11, both for narrow and unicode builds.
3) Replaced relevent Win32 function calls with calls to euser.dll
exported functions that return a pointer either to 'W' Win32
function or euniw.dll wrapper function.
3) Dennis
1) Increased stack size of ESHELL from 8K to 16K. This is because it
blows an 8K stack in the unicode build.
2) Modified code to remove some compiler warnings with the new GCC
compiler. Some warnings still remain ("taking address of temporary")
which seem nontrivial to fix.
3) Modified code in SFAT\SL_MNT.CPP (CFatMountCB::CountFreeClustersL)
which crashes when built with the new compiler due to attempting a
16-bit data access at an odd address. The code now explicitly does two
separate byte accesses.
4) Modified ESHELL to print the full exit code if a process terminates
with any other code than KILL 0.
5) Added test launcher program RUNTESTS.EXE. Syntax is
runtests <script> <dir>
where <script> is the name of the test script (eg e32auto.bat) and <dir>
is the directory in which the test executables reside. If <dir> is
omitted it defaults to Z:\TEST. The test script is assumed to reside in
the same directory as the test EXEs unless a full path is specified for
<script>.
Version 0.01.146
================
(Made by Alastair, 9.6.99)
1) Alastair
1) Building this version of F32 requires E32TOOLP version 108+. It's
advisable to build your component with E32TOOLP version 108+ if you're
using this version of F32 since import libraries are only released in
the MARM release and WINS debug directories.
2) Changed zips of releasables put onto the network. There is now one zip
file for each platform. There is also a zip file for exported header
files. Hence, The contents of S:\f32\zip includes
export.<ver>, wins.<ver>, marm.<ver> and winc.<ver>.
The files within these zip files now also have full pathnames so ensure
you unzip them into the root of your EPOC drive with any flags required
to recreate the directory structure.
3) Added new command, MNT CHECKREL, to check that all releasables are
present before doing an MNT PUTREL.
Before doing MNT CHECKREL or MNT PUTREL call BLDMAKE -v RELFILES to
create the lists of releasables.
4) Split EFSRV.DLL under WINC into EFSRV.DLL and EFILE.DLL as under WINS.
Removed hacks in the build system associated with munging EFSRV.DLL and
EFILE.DLL together under WINC. EFSRV.DLL loads EFILE.DLL when required,
as under WINS.
5) Specified second uids in ELOCAL.MMP and EFAT.MMP as 0 so that these FSY-
specific uids are set by makmake instead.
6) Replaced all B[plat].PRJ files for use with BLDMAKE with BLD.INF in
accordance with ER5u bldmake changes.
7) Removed all E*.REL files from GROUP directory and changed MNT.BAT so that
MNT PUTREL looks for .REL files generated by BLDMAKE instead. Updated
BLD.INF accordingly.
8) Removed EVALID.PL and EVALID.BAT from GROUP dir now that this version
of EVALID is being released as part of E32TOOLP.
9) Updated MNT GETBLD to fetch the SDMODELS component which replaces the
SWINS component that E32 used to release.
10) Remove XFILE.MMP - it's no longer required now that libraries can be
built separately. Note that libraries must be build before other
releasables because of mutual exporting between some F32 DLLs.
Version 1.02.145
================
(Made by Malcolm, 14th May 1999)
Malcolm
1) Changed usage of KRomHeaderLinAddr to
UserSvr::RomHeaderAddress(). This requires a recent E32
> 181 to work.
Version 1.02.140
================
(Made by Mark, 5th May 1999)
1) Pete
1) Enabled a file system to be mounted on EDriveW for WINS.
2) Mark
1) Added DismountFileSystem(..) and FileSystemName(..) functions to class RFs.
2) Moved public member data in CMountCB, CFileCB, CDirCB, and CFormatCB to
protected and provided relevant inline functions.
Version 1.02.133
================
(Made by Mark, 31th March 1999)
1) Mark
Implemented fix to defect EDNGDAE-46FPNU in CServerFs::TheSessionHasDied(..).
Version 1.02.132
================
(Made by Jonathan, 23rd February 1999)
1) Jonathan, Simon
1) Boilerplated source.
2) Alastair
1) Fixed bug EDN874266
"I think Epoc COnnect is trying to access my A drive on Win 98"
by not looking for a dll preload list on all drives under __WINC__.
2) Changed MNT PUTSRC to use T:\Tools\Zip.exe rather than
T:\Tools\PKZip.exe.
3) Changed MNT GETREL to get the WINC debugging releaseables for DEB and
UDEB builds.
4) Moved \F32\INC\INCC.PRJ to \E32\GROUP\INCC.REL and changed MNT.BAT so
this .REL file is treated in the same way as all the other .REL files.
5) Updated validation process to use William's new EVALID.BAT (added to
F32\Group pro tem.).
Version 1.02.131
================
(Made by Mark, 10th February 1999)
1) Mark
1) Removed extra debug diagnostic checking added in v129. CFatMountCb::
CheckIndirectionTableL(..) left in although not called.
2) Fixed defect EDN760586 so that TDrive::IsFileOpen(..) checks that a
matching file name is on same drive.
3) Fixed defect EDN781415 by adding check in CFatMountCb::DoFindL(..) that
aDosEntryPos is not past end of root directory.
4) Fixed defect EDN621729 so that RFs::NotifyChange(..) cannot fail.
The return type of these functions is now void instead of int.
Version 1.02.130
================
(Made by Pete, 3rd February 1999)
THIS RELEASE OF F32 REQUIRES E32 163 OR LATER
1) Pete
1) Changed over to use the TBusLocalDrive class rather than TLocalDrive
for local drive access. This in turn required converting calls to
TBusLocalDrive::Caps() to take a TLocalDriveCapsBuf parameter rather
than a TLocalDriveCaps.
2) Mark
1) Removable FAT formatted drives (ie CF cards) larger than or equal to
16Mb in size are now formatted with a 16bit FAT rather than a 12bit
FAT.
Version 1.02.129
================
(Made by Jo, 29th January 1999)
1) Morgan
1) Fixed an OOM bug in the loader (FindAndLoadDll(...))
2) Jo
1) Added extra debug diagnostic checking to detect RAM drive inconsistencies
2) Changed the order of operations in CRamFatTable::FreeClusterListL() so the
RAM drive is not shrunk until the clusters referencing it have been deallocated.
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.
4) Modified the DoRequest() function of TFsRequest so any fileserver operations that leave are caught and dealt with appropriately.
5) Various concomitant modifications to CSessionFs Process() and CServerTask functions to deal with the change in 4)
Version 1.02.128
================
(Made by Morgan, 27th January 1999)
1) Jo
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.
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.
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.
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.
Version 1.02.127
================
(Made by Jo, 19th January 1999)
1) Jo
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.
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.
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.
4) The global RestartActiveScheduler() functions were modified to behave safely in cases where the fileserver session has closed.
5) Fixed a bug in RFs::Rename (SFILE\SF_NBS) which prevented extended fileserver notification requests completing.
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.
7) Some modification to cleanup routines in class CServerTask (SFILE\SF_TASK) in the light of changes to RestartActiveScheduler.
8) Added function ParseNotificationPath() to SFILE\SF_UTL to allow wildcarded fileserver notification requests as described in 6).
2) Morgan
1) Added Dll-preloading functionality to F32 startup. List the Dll's to be
loaded at start-up in the file "\System\Data\Dll Preload list" located
on any drive. Filenames listed should be fully qualified, although it
will attempt to load unqualified names using the usual search paths. The
comment delimiter for this file is ';'.
Version 1.02.126
================
(Made by Jonathan, 12th January 1999)
THIS RELEASE OF F32 REQUIRES E32 160 OR LATER
1) Jo
1) Fixed defect EDN911803 "Rename creates duplicate file" which was due
to the VFAT entry of the original file not being deleted when the
new filename was FAT.
2) Minor modification to ESHELL (\ETSHELL\TS_COM.cpp) so that the REL
build of ESHELL does not stop TRACE from setting the F32 tracing
flags.
3) Minor additions to \SFAT\SL_MNT.cpp to add extra checking for
uninitialised CSessionFs pointers that could permeate down and lead
to access violations when TDriver::ReadCritical() and
TDriver::Write() functions are called.
2) Morgan
2) Fairly major overhaul of the loader to make it clean up after
itself. Handles created by the kernel for library creation are now
placed into The Loader's process. The handle is only transferred to
the client when the load has successfully completed.
This allows the loader to keep track of all the libraies it has
created, and therefore allows it to clean up after itself on
failure.
Version 1.02.125
================
(Made by Jo, 21st December 1998)
THIS RELEASE OF F32 REQUIRES E32 159 OR LATER
1) Alastair
1) Removed BLD.BAT, CLEAN.BAT and PREPARE.BAT from Group\Li.prj.
2) Morgan
1) Fixed a bug that was stopping RAM-loading of libraries that statically
linked to Exes.
3) Jo
1) Fixed an eshell bug to improve the Copy function. Removed edlin
from eshell. Modified the Hexdump command to allow the user to
quit.
2) Removed the extraneous file sr_rom.s from \f32\srom\
Version 1.02.124
================
(Made by Jo, 8th December 1998)
1) Jo
1) Fixed defect EDN 128786
Previously, if a notification request was made on a non existent
path, the notification request was rejected with error KErrNotFound.
Now the request is submitted (if the path is valid eg with no
illegal characters) and the client is notified upon creation of such
a path.
2) Fixed defect EDN 879377
TFindFile::FindWildByPath() now checks that the path submitted is
not NULL before attempting to dereference it.
3) Modified the handling of client requests in SFILE\SF_MAIN.
Release 120 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 had some performance implications on the fileserver - the
current modifications have now improved the performance for local
fileserver operations.
The changes required minor modifications to a couple of functions in
class CServerTask, some changes to class CSessionFs, and the
introduction of a new class TFsRequest. BC is not affected except
internal to F32.
Version 1.02.123
================
(Made by Jo, 1st December 1998)
1) Morgan
1) Added Uid matching to Dll and Exe loaders. See E32 release note 157.1.1
2) Implemented a more intelligent Dll Loader that continues to search
for matching dlls if the first (or subsequent) attempt fails.
SF_LDR.CPP and SF_IMAGE.CPP
3) Removed the E32Image class from the public header F32IMAGE.H. The
E32ImageHeader and friends remain.
4) SARMBERIP
2) Jo
1) Fixed EPOC software problem SW1-29 "Local/System Filetime confusion - WINC"
Changes to SFILE\SF_FILE,SF_NBS; SFAT\SL_DIR,SL_MNT; SWINS\ELOCAL
The file timestamps are now stored as UTC times in line with Win32.
File times are converted transparently between local and UTC times as
necessary (so no adverse effect on eg the Shell) but WINC now gets the
system time it expects and can deal with it accordingly.
Obviously, any existing files stored on CF card will now be reported with
incorrect timestamps if their last modification local time differed from
GMT. This also required a E32 fix (see E32 release note 157.2.1).
2) Modification to SFAT\SL_VFAT to fix a problem with the way UNICODE builds
cope with legal DOS file names.
3) Modification to SFAT\SL_FMT and SFAT\SL_STD to allow F32 to get the correct
number of hidden sectors as reported by E32 (TLocalDriveCaps). This will
fix Epoc Software Problem SW1-44 and Bluebell defect SW1-412 where
WinCE machines rejected EPOC formatted CF cards.
3) Alastair
1) Added ESHELL.EXE to GROUP\EWINS.REL and ESHELL.PDB to GROUP\EWINSDB.REL.
2) Changed code loading patch ldds from C:\system\libs\ to check that the
third UID is KPatchLddUid (0x100000cc), and added KPatchLddUidValue to
SFILE\SF_MAIN.CPP.
3) Fixed minor ESHELL bug.
4) Removed references to all bldmake-generated batch files from LI.PRJ
files containing them, and updated MNT.BAT so that directories \BWINC,
\BVC4 and \BVC4WINC are not archived (they contain nothing but
bldmake-generated files anyway). This means that to build F32 from
source bldmake must always be called first to generate the batch files,
and ensures these batch files are more likely to be up-to-date.
5) Changed targettype in ELOCAL.MMP and EFAT.MMP from DLL to FSY. Removed
FSY.DEF from BWINS, BMARM and BSARM directories.
6) Updated SFILE\SF_LDR.CPP in accordance with changes to E32 157's
MapEmulatedFileName() function.
Version 1.02.122
================
(Made by Jonathan, 27th October 1998)
N.B. WINS DEB/UDEB will only work with E32 156 OR LATER.
1) Dennis
1) Reintroduced debug/release interoperability by synchronising DEF files
between WINS REL and DEB builds.
2) Jo
1) Modified SFAT\SL_VFAT to generate an acceptable DOS shortname for
UNICODE long filenames.
2) Made the vendor ID in the bootsector more generic - changed from
"PSIONPLC" to "EPOC".
3) Alastair
1) Added the following Unicode Uid values
KFileSystemUidValue 0x100039df
KFileServerUidValue 0x100039e3
KFileServerDllUidValue 0x100039e4
2) Updated .MMP files in accordance with the UNICODE plan.
3) Changed MNT.BAT to get E32TOOLP version 096.
Version 1.02.121
================
(Made by Morgan, 20th October 1998)
NB: REQUIRES E32 VERION 155 OR LATER
(1) Jo
1) Fixed EPOC software problem SW1-199 "Narrow build DLLs not seen on UNICODE machine"
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).
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).
Modification to CFatDirCB::ReadL() (SFAT\SL_DIR) and CFatMountCB::DoFindL() (SFAT\SL_MNT) to allow UNICODE to recognise and deal with these files.
2) Fixed EPOC software problem SW1-253 "TFileText::Write() has wrong prototype"
Added const to the prototype - now TInt TFileText::Write(const TDesC& aDes)
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)
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.
5) Fixed a bug in the global function NumberOfVFatEntries() (in SFAT\SF_UTL)
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.
2) Alastair
1) Changed dllLoader() function in \F32\SFILE\SF_LDR.CPP to allow
the Emulator to run from anywhere. The function no longer
searches the Epoc search path under WINC if libraries aren't found
in the Win32 search path. Under WINS this function now
passes an Epoc path rather that a full Win32 path to E32 to
fix Epoc Software problem SW1-153 "Allow applications to
simulate running from C: or D: on WINS".
2) Removed \F32\SFILE\SF_WINS.CPP. This file provided
functionality to map Epoc filenames to Win32 filenames. The
functionality has been improved and is now provided by
new EUSER function MapEmulatedFileName(). Since this version of F32
calls MapEmulatedFileName() it requires E32 version 152 or above.
3) Various minor WINS/WINC fixes and reorganisation.
4) Incorporated \F32\SWINC\ELOCWINC.CPP into
\F32\SWINS\ELOCWINS.CPP to isolate WINS/WINC differences and
make them easier to maintain. ELOCWINS.CPP now uses
MapEmulatedFileName() to do its Epoc->WINS drive mapping.
5) Corrected WINS base address in line with the Notes document
and added 0x66000000 for EFSRV.DLL.
6) Symbianised copyright information appearing in the text shell.
Version 1.02.120
================
(Made by Jo, 18th September 1998)
A number of modifications and additions to F32 for this release. First release post-ER4.
1) Jo
(1) Fixed EPOC Software problem SW1-160.
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()
(2) Fixed Bluebell defect SW1-728
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.
(3) Fixed EPOC Software problem SW1-132
RFs::DoGetDirL() was ignoring the return value from its call to CDir::Sort()
It now inspects the value and leaves if an error occurred.
(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.
(5) Fixed Series 5 problem SW1-764 "F32 over-allocates clusters"
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.
(5) Fixed Series 5 problem SW1-770 "Can't handle the last root directory entry"
The root required the last entry to be an end-of-directory entry. Removed this requirement.
(6) Fixed Series 5 problem SW1-842 "TInt Write() does not work as documented"
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.
(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).
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).
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).
(8) Implemented RFs functions GetLongName() and GetShortName for UNICODE builds.
(9) Implemented EPOC proposal SW1-52 "File Server function to read from a file regardless of the lock state"
RFs now supplies function ReadFileSection() to allow F32 clients to read bytes from any position in the file, regardless of its lock state.
(10) Implemented EPOC proposal SW1-91 "Extend file server change notification"
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).
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.
These changes required some modification to the CSessionFs class (BC not affected except internal to F32).
(11) Implemented EPOC proposal SW1-92
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).
(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.
(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.
(14) Made a change to the way F32 handles each client request in SFILE\SF_MAIN.
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.
(15) Added some Set/Get functions to classes CFatMountCB() and CServerTask to reflect data encapsulation therein.
Version 1.02.115
================
(Made by Jo, 29th July 1998)
1) Jo
Re-release of F32 114 with correct build version number in \INC\F32VER.H
and correct E32,E32Tools and E32ToolP build version numbers (in \GROUP\MNT.bat)
F32 release will now validate.
Version 1.02.114
================
(Made by Jo, 17th July 1998)
1) Jo
1) Fixed EPOC Software Problem SW1-12. F32 previously assumed that the name of
DLLs to which an executable links, were embedded in the import data as a Unicode
string - in reality the data is ASCII text. This was causing executables to fail
to load from RAM on Unicode builds.
After consultation with the internationalisation team, F32 is to be modified in
stages to resolve this problem. This release marks completion of the first
stage - F32 has now been modified to restrict Dlls to 8 bit names.
Executables may now be loaded from RAM on Unicode builds. There has, in
effect, been no change to 8 bit builds.
Version 1.02.113
================
(Made by Jo, 14th July 1998)
1) Jo
1) Fixed BluebellDefects bugs SW1-587 and SW1-620 by ensuring that the iSession
data member of CServer task is initialised for each session. (\SFILE\SF_TASK)
2) Added extra function DestroyTaskThread() to class CServerTask to clean up
iSessionThread and iMessageSemaphore when session is closed. Also modified
CServerTask::TaskThreadFunction() code to use iTheDrive->iDriveMutex mutex
to protect data when fileserver operates asynchronously (\SFILE\SFTASK)
3) Numerous small modifications to DoParseFsXXX functions to determine
whether a remote mount is present and thus whether to call fileserver
functions asynchronously. (\SFILE\SF_DEBUG,SF_DIR,SF_DRV,SF_FILE,SF_FMT,
SF_MAIN,SF_NBS,SF_RAW,SF_SVR,SF_SYS). These changes have been stress tested
by a new test which will be permanently added to the F32Test suite
(to be released separately).
2) William
1) Changes to ESHELL (\ETSHELL\TS_EDSHL) to fix EPOC Software Problem SW1-103
Other improvements to ESHELL as follows:
a) Decoded kernel faults are shown as "PLAT 9" rather than "9 PLAT"
b) You can run an exe with funny arguments without getting bitten by the .bat file processing, e.g. "apprun a\b\c"
Version 1.02.112
================
(Made by Morgan, 23rd June 1998)
1) Jo
1) Fixed bugs SW1-363, 376, 413, 414, 427, 453 by ensuring that the TDrive
data member of CSessionFs is fully updated for each new session.
2) Added some extra code to ensure full initialisation of the CSessionFs data
members of CFatMountCB, CFixedCache and CFileShare. Removed the unused
and unnecessary CSessionFs data member in CFormatCB.
2) Morgan
1) Fixed a batch file CD bug in ESHELL
2) Fixed some bugs in the remote file system support. Mostly
indescriminate handle orphaning, OOM behaviour errors, and
some other weirdnesses.
3) Simplified some code, removed some unecessary indirections,
and reduced the size of the session classes.
Version 1.02.111
================
(Made by Pete, 10th June 1998)
1) Dennis
1) Changed occurrences of TSimpleArray<T> and TPointerArray<T> to
RArray<T> and RPointerArray<T> following renaming in E32.
2) Petteri
1) Changed LDRPATCH.MMP
3) Alastair
1) Changed sfile\sf_main.cpp so that patches are loaded automatically
after a warm reset. The code will attempt to load, in name order,
any files in directory "C:\System\Libs\" as logical device drivers
if they have the logical device driver second uid, the extension
".SYS" and the "System" file attribute.
2) Changed ELOCAL.FSY so that the initial default path for WINC
programs is the current directory rather than C:\.
3) Changed CLocalFileCB::IsRomDrive() to return EFalse under WINC so
that WINC programs can write to drive Z:.
4) Removed macro EXPORT_IF_NOT_WINC_C from various files where it had
failed to fulfil it's duty in stopping certain functions being
exported in WINC builds (WINC EFSRV.DLL effectively combines the
functionality of WINS dlls EFSRV.DLL and EFILE.DLL, but shouldn't
export functions that WINS EFILE.DLL does). Hacked MNT.BAT instead
so that WINS-built EFSRV.LIB is released for WINC builds, so that
WINC and WINS builds of EFSRV.DLL remain binary compatible.
5) Changed MNT.BAT so that MNT GETBLD gets the tools required for building.
4) Jo
1) Fixed EPOC32 software problem SW1-56 to prevent a file being turned into
a directory.
In SFile\SF_FILE DoFsFileSet(): Added ValidateAtts() to bring it into
line with DoFsFileSetAtt()
2) Fixed EPOC32 software problem SW1-30
SFSRV\CL_FIND TFindFile::DoFindInDir() no longer returns KErrNone when
an inaccessible network drive returns KErrAccessDenied.
3) Fixed EPOC32 software problem SW1-91
SFAT\SL_FMT CFatFormatCB::DoFormatStepL() now writes a media descriptor
byte to the start of the second FAT as well as the first FAT.
4) Fixed Series 5 software problem SW1-278
in SFSRV\CL_FMAN so hidden files may now be deleted by CFMan::Delete()
Version 1.02.110
================
(Made by Morgan, 14th May 1998)
1) Dennis
1) Changes to allow for multiple ROM root directories for use with
multiple-variant ROMs.
2) Changed occurrences of CArray* to TSimpleArray.
2) Morgan
1) Fixed Bluebell defect SW1-56
2) Minor fixes to ESHELL to correct error reporting
3) Fixed Series 5 defect SW1-878
3) Basher
1) Made the file server asynchronous
================
Big version number increment to skip over Liffey Lavender release.
================
Version 1.02.096
================
(Made by Jonathan, 8th May 1998)
1) Alastair
1) Changed MNT.BAT so that MNT GETRELE32 no longer gets the
debugging information releasables for RELEASE builds.
2) Changed MNT.BAT to retrieve E32TOOLS 091 and E32TOOLP 091.
2) Matthew
1) Changed text shell to use the KConsFullScreen constant, so it can
be run on small-screen machines. This requires E32 124 or above.
3) Jo
1) Change to DoListOpenFiles() in SFILE\SF_FILE, to align each TEntry
in the list along a 4 byte boundary.
The bug came to light when running F32tests in WINC.
2) Minor cosmetic changes to the text shell code following a code review.
Version 1.02.095
================
(Made by Graham, 16th February 1998)
1) Graham
1) Removed debug/release interoperability from
WINS/WINC. Reverted to 092-style .DEF files.
Version 1.02.094
================
(Made by Dennis, 12th February 1998)
1) Dennis
1) Debug/Release interoperability take 2: Synchronised DEF files for
WINS/SARM/SARMBE builds.
Version 1.02.093
================
(Made by Jonathan, 10th February 1998)
1) Alastair
1) Changed mnt getrel so that it doesn't attempt to get the non-existent
.PDB files for release builds.
2) Dennis
1) Added dummy exported debugging functions to release build to facilitate
debug/release interoperability.
Version 1.02.092
================
(Made by Jonathan, 27th January 1998)
1) Jonathan
1) Don't format drive C: in StartupThread unless it's a RamDrive.
Version 1.02.091
================
(Made by Alastair, 26th January 1998)
1) Morgan
1) Range checking implimented on import ordinals. The import stub of
a function ordinal that is not exported by the relevent Dll is
fixed up to point to a paniking function.
2) Loader no longer does a FindByPath while searching for Dlls when no
path is supplied.
3) TFindFile returns KErrNoMemory on OOM.
2) Alastair
1) Moved build system over to MAKMAKE. The batch files for building F32 are
created by e32tools's BLDMAKE. From the GROUP directory, type BLD or CLEAN
or PREPARE without any arguments for help on how to use the new batch
commands. MAKMAKE has not yet been applied to the build system for MISA or
MX86. CLEAN.BAT uses NMAKE to do its cleaning, so a PREPARE.BAT
needs to have been done first. PREPARE.BAT will make the makefiles and
build the working directories.
2) Renamed freeze files from .FRZ to .DEF, including CONSMARM.FRZ, CONSMISA.FRZ
and CONSWINS.FRZ.
3) Removed WINS_UID statements from all source files.
3) Jo
1) Fixed SW1-623.
ESHELL no longer forces the command line into uppercase. The shell
no longer calls the console T_TSHELL (it now calls it ESHELL for
consistency).
2) Various cosmetic fixes.
For example, when in a subdirectory, the prompt is now the correct
drive:path> rather than drive:path\>.
3) Improved batch file processing.
This includes searching for autoexec.bat at startup in the order
y,x,...,b,a then z rather than just looking at the default drive.
Other improvements include fixing the bug that caused problems when
blank lines were present in the batch file, and making changes to allow
a drive change in the batch file.
4) Various changes to the TShellCommand functions in class ShellFunction.
For example, the addition of an ATTRIB function, the alteration of
COPY, GOBBLE, RENAME and MOVE to allow spaces in the file/directory
names and a fix to RD.
5) A recursive dependency checker for Dlls/Exes.
This rushes through statically linked libraries checking that each
is available and that the Uids are correct. The checker is called
automatically if CShell::RunExecutable fails, to give more information
than the "Not Found" and "Not Supported" messages that were obtained
previously. The checker has also been added to class ShellFunction
and thus may be used directly as a TShellCommand function:
CHKDEPS [Executable or Dll Name].
6) Better decoding of kernel faults and panics.
The Ctrl-Fn-R dialogue now only shows the last exception information
as a raw hex number if the reset reason was a Kernel exception.
For kernel faults and kernel panics it now prints the category which is
obtained by decoding the exception information.
Version 1.02.090
================
1) Dennis
1) Set the session path for gTheLoaderFs to C:\ when the loader connects
to the file server.
Version 1.02.089
================
1) Matthew
1) Added code so that loading of the window server, or opening files, is
done only from rom when Hal::StartupReason() returns EStartupSafeReset.
This is particularly for the SB variant, where C: persists across even
cold resets. The user must reset the machine to get out of this
state. Changes to:
sfile\sf_dat
sfile\sf_main
sfile\sf_file
2) Alastair
SARM
1) Integrated Single-process code into f32 source.
Build commands are mnt sarm, sarmall, sarmrel etc. There are no
releaseables and no facilities for building test programs. SARM builds
use the "__SINGLE__" macro for distinguishing Single-process-specific
code. Work directories are \epoc32\build\f32\sarm\[build] and
\epoc32\release\sarm\[build]. SARM makefiles are generated into
\f32\bsarm using perl to process makefiles from \f32\bmarm as a
temporary measure prior to the use of makmake for creating f32
makefiles.
Changes to \bsarm\*, \group\mnt.cmd, \sfat\sl_mnt, \sfile\sf_ldr.
3) Dennis
1) Modified loader to read data section linear address from iDataBssLinearBase
for ROM-loaded EXEs and to read KImageFixedAddressExe flag for RAM-loaded EXEs.
2) Added calls to UserSvr::UnlockRamDrive() and UserSvr::LockRamDrive() to
implement RAM-drive protection.
3) Loader now keeps file server session (gTheLoaderFs) open all the time, instead
of connecting at the start of every load operation and disconnecting at the end.
4) Files changed:
inc\ f32image.h
sfat\ sl_disk.cpp, sl_fat.cpp
sfile\ sf_main.cpp, sf_ldr.cpp, sf_image.cpp, sf_ses.cpp
4) Morgan
1) Added some stuff in the loader to deal with Dll data.
Version 1.02.088
================
(Made by Morgan, 22nd September 1997)
1) Basher
1) UniCode Fix: f32file.h, KEntryArraySize=0x200 to 0x200*sizeof(TText)
2) UniCode Fix: \f32\sfat\sl_mnt.cpp so that this strips "." from the
end of a given file/dir names. eg.(SUBDIR.).
3) Modified following test codes for UniCode builds:
\f32\tfsrv\t_nmbs
\f32\tfsrv\t_file
\f32\tfsrv\t_fman
\f32\tfsrv\t_dirs
\f32\tfsrv\t_gdir
\f32\tfsrv\t_parse
2) Morgan
1) See \F32\PATCH\RELEASE.TXT
Version 1.02.087
================
(Made by Jonathan, 5th September 1997)
1) Dennis
1) Fixed SW-21.
Modified E32Image::LoadDlls() to call UserSvr::ExeAddDependency()
instead of UserSvr::DllAddDependency() when an EXE is found to depend
on a DLL which is already in the loaded DLL array.
2) Morgan
1) Updated LDRPATCH.LDD. See \F32\PATCH\RELEASE.TXT for details.
Version 1.02.086
================
(Made by Jonathan, 26th August 1997)
1) Pete
1) Fixed problem where FAT file system was setting the lru
cache maximum segment count to -1 on machines where free ram was less
than 1Mb. This meant that all segments where deleted from the
segment queue resulting in a panic on the first read of the ATA drive.
2) Morgan
1) Improved wildcard substitution for Copy-and-Rename operations.
2) Fixed SW1-385. CFileMan now recurses into hidden and system
directories when KEntryAttHidden and KEntryAttSystem specified.
3) Fixed SW1-121. WINC F32 now keeps up with drives substed after
F32 started. A side effect of the fix is accesses to drives that
are unused now returns KErrPathNotFound, rather than KErrNotReady.
This fix applies to WINC only.
4) Added test code.
Version 1.02.085
================
(Made by Morgan, 1st August 1997)
1) Dennis
1) Fix for loading a dll which is itself in a circular chain
of dependency.
2) Graham
1) Updated minor version number to 02.
Version 1.00.084
===============
(Made by Morgan, 1st August 1997)
1) Fixed SW1-160 - Duplicate filenames when cut and pasting V1.0 files
2) Fixed SW1-340 - Don't put in DLL-to-DLL links when one of the files is an EXE
Version 1.00.083
===============
(Made by Morgan, 27th July 1997)
1) Added T_DLOCL test program
2) Fix from Jal to remove memory leak on media change
3) '\000' added to list of illegal characters in filenames to fix SW1-53
4) Added LDRPATCH.LDD. See \F32\PATCH\RELEASE.TXT
5) Modified E32Image::LoadDlls() to remember the address of each library
loaded and to pass information back to the kernel so that it can build up
a tree structure showing which DLLs are dependent on which.
Fixes CSW3-1559, CSW3-1560, CSW3-1530, SW1-91, SW1-155, SW1-158
Version 0.01.082
===============
(Made by Morgan, 16th July 1997)
1) Increased the maximum size of the loader heap to fix SW1-82
Version 0.01.081
===============
(Made by Jal, --rd July 1997)
1) --
Version 0.01.080
================
(Made by Jal, 23rd June 1997)
1) Removed check for the existance of the fileserver (fix 7 below) from WINS builds
Version 0.01.079
================
(Made by Jal, 23rd June 1997)
1) SW3-688 Max number of root dir entries on the internal disk has been doubled.
2) SW3-1370 Caught KErrArgument in CActiveSchedulerFs::Error()
3) SW3-1475 All uppercase alphanumeric chars are allowed as 8.3 filenames
4) SW3-1003 Lowercase chars are not allowed in 8.3 filenames
5) SW3-1056 Accessing unavailable partitions on a cf-card returns KErrNotReady instead of KErrCorrupt
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.
7) SW3-1360 Check that the fileserver does not exist before creating it.
8) SW3-1194 Disk error notifiers should not appear spontaneously.
9) SW3-850 Renaming a directory into a subdirectory of itself returns KErrInUse instead of KErrAccessDenied
10) SW3-854 Attempts to open files on read only media in EFileWrite mode fail with KErrAccessDenied
11) SW-3870 RFs::NotifyChangeCancel will not get failed in debug mode
Version 0.01.078
================
(Made by Jal, 3rd June 1997)
1) SW3-948 Added checksum to VFAT
Version 0.01.077
================
(Made by Jal, 28th May 1997)
1) SW3-142 Added change to minimise wear on cf-cards
Version 0.01.076
================
(Made by Jal, 27th May 1997)
1) SW-4369 Added EDirDescending flag to sort.
This determines whether directories are sorted in the order A-Z or Z-A.
Files are sorted according to the EDescending flag.
2) SW-5243 The loader thread no longer has system attributes
3) SW3-768 Another fix to asynchronous notification.
4) SW-4260 UNC filename support - changes from SimonB
This is an unapproved change but has absolutely no effect whatsoever on any
build except WINC and I'm told it is essential for the nautilus project.
Version 0.01.075
================
(Made by Jal, 21st May 1997)
1) Commented out some useless ldr debug printfs. (debug mode only)
2) SW3-687
Fixes to asynchronous notification.
Version 0.01.074
================
(Made by Jal, 21st May 1997)
1) All attempts to access a mount while it is being formatted return KErrInUse
2) When Password::IsEnabled() returns ETrue EWSRV.EXE is only searched for on drive Z:
3) Morgan, Fixed SW3-329
The loader now sets the iFilename and iRootName as it is capitalised on the drive.
4) The notifier triggered by an error while writing is now partially asynchronous.
All calls to the fileserver will be failed with KErrInUse except ::Close() methods
and RFs::NotifyChange and RFs::NotifyChangeCancel.
5) The volumename is now treated as a zero terminated string.
Version 0.01.073
================
(Made by Jal, 15th May 1997)
1) Fixed .TXT defect
2) TParse::AddDir(aName) returns KErrBadName if aName contains a path delimiter
3) Directories are always sorted by name.
4) TFindFile searches for files in drive order Y-A,Z
5) The windowserver is also searched for in the above drive order.
6) The drive attributes returned by RFs::DriveList now take into account substituted drives.
7) Morgan
Passed the path of the main loadee in all calls to FindDll().
Version 0.01.072
================
(Made by Jal, 8th May 1997)
1) Morgan
Fixed Dll and Exe RAM loading problems SW-4476 and SW-4800 when
used with E32(105).
DPlatLibrary::Loaded() is called on all statically linked libraries
during a load. Previously some were missed out if Dlls further down
the link chain pulled in new unseen libraries.
CSessionLoader::LoadProcess now writes back the TLoaderInfo to the
client even if the load fails. This provides more information to
allow client side code to cleanup if necessary.
2) Jal
1) Sort by type sorts by both the 2nd and 3rd uids - then by name
2) Fixed source of corruption in directory creation
3) Added mount check before flushing information when closing a file
4) Fixed problem with SetNotifyUser spotted by Doug
Version 0.01.071
================
(Made by Jal, 30th April 1997)
1) Fixed 4121 - "Asynchronous Writes of zero bytes completes twice"
2) Fixed 2696 - All localised text has been moved to ELOCL.DLL
3) Optimised CFileMan::Move to rename if the files reside on the same drive.
4) Fixed 4362 4367 and 4555 - MaxLength folder names can be created
and corruption will not occur.
There are still problems in this area.
5) Fixed 4256 - Volume label will default to ""
6) Fixed 4486 - All files are sorted by uid2
7) Fixed 4352 - Uids are sorted lowest -> highest.
Uid2==0 is treated as special case and listed last.
Version 0.01.070
================
(Made by Jal, 19th April 1997)
1) Fixed 3812 - The startcluster of a file is written to disk as soon as it is allocated.
2) Fixed 3462 - PsiWin 1.1 + long filenames in Z: no longer cause fileserver termination.
3) Fixed 3755 - The EFSRV.LIB that WINC releases is copied from the WINS build.
4) Fixed 3756 - ELOCAL.FSY in WINC links by ordinal
5) Fixed 3757 - All frz files are up to date.
6) Removed KUidExe from eshell
UIDS
====
eshell.exe UID1 = 0x1000007a
efile.exe UID1 = 0x1000007a UID2 = 0x1000008c UID3 = 0x100000bb
elocal.fsy UID1 = 0x10000079 UID2 = 0x1000008f UID3 = 0x100000d6
(efat.fsy UID1 = 0x10000079 UID2 = 0x1000008f UID3 = 0x100000d6) // wins only
efsrv.dll UID1 = 0x10000079 UID2 = 0x1000008d UID3 = 0x100000bd
KExecutableImageUid = 0x1000007a
KDynamicLibraryUid = 0x10000079
KServerProcessUid = 0x1000008c
KFileSystemUid = 0x1000008f
KSharedLibraryUid = 0x1000008d
KFileServerUid = 0x100000bb
KLocalFileSystemUid = 0x100000d6
KFileServerDllUid = 0x100000bd
7) Fixed 3053 - Incorrect filesystem loading.
As suggested by Geert, the code has been changed to invoke
the loader directly.
8) Fixed 3758 - Check uid1 before loading filesystem.
9) Fixed 3786 - The 'Not enough power' notifier will only appear once.
Version 0.01.069
================
(Made by Jal, 19th April 1997)
1) Fixes to the WINC loader.
2) Updated Notifier to new values returned by Eikon. Fixes SW-3667
3) Added KUidExe to eshell.
4) Generally improved security of RFormat. Fixes SW-3574
If a file, or directory is open RFormat::Open returns KErrInUse.
While a disk is being formatted any attempt to open a file or directory will
return KErrInUse.
Version 0.01.068
================
(Made by Jal, 16th April 1997)
1) Fixed SW-2760 (Reading from a text file gives KErrEof too early)
2) Fixed format defect
After a media changed, format gave a spurious error.
3) Removed assert from RFs::NotifyChangedCancel fixing SW-3316
4) Relaxed attribute setting restrictions
Attempting to set the directory attribute on a file (or viceversa) will have no effect rather
than causing an error. This allows code such as file.SetAtt(att,~att); to be written.
Setting and clearing the same attribute is still panicked.
5) Fixed SW-3183, Copy doesn't preserve read-only status of file
6) Fixed SW-3143, CFileMan::Copy() to wild card destination drops the character after the dot
7) Removed notification on writing to the start of a file.
This generated too many spurious notifications when files were being copied.
8) Removed notification on creation of temporary files to reduce the amount of scanning done by the shell.
9) Fixed SW-3032, Unknown files should be listed last
10) All arm releasables are petraned and use the new UID scheme.
11) Added notifications when write fails due to bad power and for any other failures.
Version 0.01.067
================
(Made by Graham, 9th April 1997)
1) Morgan
1) TLoaderInfo changes for UID support
Version 0.01.066
================
(Made by Jal, 9th April 1997)
1) GetDir behaviour changed - hidden or system files will not be listed unless you ask for them.
KEntryAttNormal|KEntryAttDir - List files & directories that are not hidden or system
KEntryAttNormal - List files only that are not hidden or system
KEntryAttDir|KEntryAttMatchExclusive - List dirs only that are not hidden or system
KEntryAttHidden|KEntryAttSystem|KEntryAttNormal|KEntryAttDir- List all files & directories
KEntryAttHidden|KEntryAttSystem|KEntryAttNormal- List all files only
KEntryAttHidden|KEntryAttSystem|KEntryAttDir|KEntryAttMatchExclusive- List all dirs only
2) Frozen file server defs
3) Fixed defect spotted by JeremyW that allowed open files to be deleted.
4) TFindFile now also returns the file's uid.
5) Added notification on writing to the start of a file to catch changes to the uid.
6) MkDirAll checks that a disk is mounted before returning any other errors.
Version 0.01.065
================
(Made by Jal, 2nd April 1997)
1) Loaded compact rom media driver
2) Made iArray protected in CDir
3) Added a synchronous alert when a write is interrupted.
This is only a provisional solution but seems reasonably stable.
It will hang on pressing "CTRL-SHIFT-ALT S" which causes the window server to
attempt to dump the screen to a file but is otherwise ok.
It is important that the threads which are needed to display the alert dialog
do not trigger it. RFs::SetNotifyUser(EFalse) can be used to prevent the dialog
from being displayed.
Version 0.01.064
================
(Made by Jal, 31th March 1997)
1) Jal
1) Tweak to drive naming
2) Added notification on media change
3) Brought .FRZ files upto date
2) SimonB
1) Removed dependency on MSVCRT from EFILE and ELOCAL
Version 0.01.063
================
(Made by Jal, 23th March 1997)
1) Optimised delete
2) Added drive naming functionality.
TInt RFs::GetDriveName(TInt aDrive,TDes& aName) const;
TInt RFs::SetDriveName(TInt aDrive,const TDesC& aName);
3) Fixed media change bug
Version 0.01.062
================
(Made by Jal, 19th March 1997)
1) Completed protection against corrupt data
2) Fixed bug whereby folders with trailing spaces could be created.
3) Fixed SW-1251
TFileText::Read reading a record into a buffer length of the same
length returned KErrTooBig
4) Fixed SW-1265
Changed the behaviour of TFileText::Read as suggested by
Howard.
5) Removed checks that power is ok. SW-1618
6) Added TBool RFs::IsValidName(const TDesC& aName)
Checks whether aName contains any illegal chars.
7) Added TUint8* RFs::IsFileInRom(const TDesC& aName)
Convenience function to save "Open file, seek, close" being
performed every time the address of the start of a file is needed.
8) RFs::SetEntry and RFs::SetModified can now alter directory times on WINS (they always worked on the rack)
Problem spotted by DominicP and fixed by SimonB
Version 0.01.061
================
(Made by Jal, 14th March 1997)
1) The return value of MkDir has been changed creating a folder with the name of an existing file.
MkDir attempting to overwrite a file returns KErrAccessDenied
MkDir attempting to overwrite a directory returns KErrAlreadyExists
Attempting to create a file with the name of an existing folder returns KErrAccessDenied.
Attempting to create a file with the name of an existing file returns KErrAlreadyExists.
(This is behaviour has not changed)
Fixes SW-727
2) Added KEntryAttMatchExclude to allow more versatile directory listings.
KEntryAttMatchExclude|KEntryAttReadOnly excludes all read only entries from the directory listing.
KEntryAttMatchExclusive|KEntryAttReadOnly just list read only entries
KEntryAttNormal list all entries except directories, hidden and system entries.
3) Attempting to remove a directory set as read only will return KErrAccessDenied
Fixes SW-1399
4) CFileMan::Copy and Move return KErrAlreadyExist if source == target
5) Fixed WINS filedate defect SW-1350
6) Added conversion of WINS error ERROR_INVALID_DRIVE to KErrNotReady (for SimonB)
7) Added some protection against corrupt data making the filesystem panic or go into loops, more to follow.
Version 0.01.060
================
(Made by Jal, 7th March 1997)
1) Fixed RFs::Replace
2) Fixed RmDir
Version 0.01.059
================
(Made by Jal, 5th March 1997)
1) CFileMan::Rename allows the case of filenames to be changed
Fixes SW-820 (again)
2) Added thread name generation to allow asynchronous CFileMen to be run simultaneously.
3) CFileMan::RmDir sends notification messages to the observer for each entry removed.
4) Fixed caching problem with cf-cards SW-207
5) Added iExtraInfo to CFileMan::Rename from SiamakM
6) Changes to TShell from William Roberts
XREPRO - to run repro with [Y/N] confirmation
Reports the build in the startup message
7) Fixed memory leak when CFileMan::Copying multiple identical files. (Diagnosed by Siamak)
8) Fixed 'double delete' bug in Loader that causes an exception under low mem conditions (Fix by Morgan)
Version 0.01.058
================
(Made by Jal, 3rd March 1997)
1) Stopped RFile::Rename allowing the new name to contain wildcard chars
2) RFs::Rename, RFs::Replace and RFile::Rename allow the case of filenames to be changed
Fixes SW-820
3) RFs::NotifyChange(ENotifyEntry, ...) only notifies when an entry has been added or deleted.
RFs::NotifyChange(ENotifyAll, ...) triggers a notification when any changes are made.
Fixes SW-803 and SW-540
4) Added a NotifyChange at the successful close of a format.
Fixes SW-936.
5) Fixed WINS filedate format
When viewed from command prompt the filedates were 1 year too old
6) RFs::Replace preserves the filedate
Fixes SW-426
Version 0.01.057
================
(Made by Jal, 26th Feb 1997)
1) Bug fix to dismount/remount of cf-cards reported by Pete.
Version 0.01.056
================
(Made by Jal, 24th Feb 1997)
1) Morgan
Added sanity checking to the loader
1) Jal
More testcode + fixes to RRawDisk
RRawDisk is opened on a mount rather than a drive
Version 0.01.055
================
(Made by Jal, 19th Feb 1997)
1) Fixed CFileMan::Rename defects SW-169 SW-171 and SW-177
Version 0.01.054
================
(Made by Jal, 13th Feb 1997)
1) Made ESortByUid sort each uid group alphabetically
Version 0.01.053
================
(Made by Jal, 12th Feb 1997)
1) Added an ESortByUid code to TEntryKey
This will allow directory entries to be grouped according to UID.
- Unfortunately the ordering of files within the uid group is arbitrary.
Version 0.01.052
================
(Made by Jal, 10th Feb 1997)
1) Error return codes for file reads and writes:
READ ERRORS
===========
// Returns KErrNone - success
// Returns KErrNotReady - non-critical error
// Returns KErrCorrupt - an illegal read is detected
// Returns KErrBadPower - power too low to attempt read
WRITE ERRORS
============
// Returns KErrNone - success
// Returns KErrNotReady - non-critical error
// Returns KErrCorrupt - an illegal write is detected
// Returns KErrBadPower - power too low to attempt write
// Returns KErrAbort - critical write failure
NOTES
=====
A critical error can only occur if power completely fails without warning AND a write
to the cf-card is in progress AND the card is removed before power is reapplied.
A critical error means there is the possibility of corruption that cannot be repaired
by retrying the write operation.
A non-critical error means that the application can ask the user to rectify the fault,
eg: apply power or replace the disk and then retry the operation.
2) Implemented renaming of open files
3) Some directory handling optimisations
4) Bug fix to WINC DriveInfo from SimonB
Version 0.01.051
================
(Made by Jal, 2nd Feb 1997)
Jane:
1) Fixed Unicode ARM builds which had rotted with the type-safe linking.
IMPORTANT - could I encourage everyone to release Unicode release and debug variants
so that even if it doesn't work, we can measure the size of the Unicode ROM.
Jal:
1) Added an active object to restart the loader should it ever die fixing SW-47
2) The following chars are now illegal within filenames:
< > : " / |
This preserves compatibility with WINS and fixes SW-246
3) RFile::Flush only flushes the files size.
This is a requirement in order to safeguard Store integrity.
All entry attribute changes are written directly to disk.
4) CFileMan return value changed:
Aborting a CFileMan operation now returns KErrCancel instead of KErrAbort.
KErrAbort must be reserved for informing applications that a user has decided to abort a write.
Version 0.01.050
================
(Made by Jal, 24th January 1997)
Jal:
1) Added an RFs::GetDir variant that matches by TUidType
IMPORT_C TInt GetDir(const TDesC& aName,const TUidType& anEntryUid,TUint anEntrySortKey,CDir*& aFileList) const;
Null uid's may be used as 'wildcards'
2) Added an RDir::Open variant that matches by TUidType
IMPORT_C TInt Open(RFs& aFs,const TDesC& aMatchName,const TUidType& aUidType);
This was introduced to support the above GetDir function but may be useful to others.
Files read from the directory are selected based on aMatchName and the uids.
3) New TFileManError errorcode
If no files are processed by an operation it returns KErrNotFound and the TFileManError
is set to ENoFilesProcessed.
eg: If a copy matches no files it will return KErrNotFound.
4) Started alloc failure checking - debug build only (see test code)
5) Changed definition of TVolumeInfo.iSize on the ramdrive
After discussion with SimonB the ramdrive iSize = the potential size of the ramdrive.
ie current actual size + free memory
6) TParse no longer automatically strips leading spaces
The VFAT standard allows filenames to have leading spaces.
Trailing spaces are still stripped.
eg: _L(" file . ext") is a good filename.
7) Bug fixes
Various fixes to bugs found by testing in low memory situations.
Version 0.01.049
================
(Made by Jal, 10th January 1997)
1) Morgan,
1) Increased the stack size for the LoaderThread because it
was exploding on the X86 version.
2) Added Memory Alloc Failure tools and a cleanup stack to the
loader.
3) Fixed the loader so it behaves under low memory
conditions and added alloc failing test code (T_LDR) for the
X86 platform.
4) Fixed a bug that was allocating too much ram for an Image's
code chunk.
5) Put in a fix so that device drivers can be loaded from RAM.
Problems arise because device drivers link directly to
EKERN.EXE and the loader verifies all exporting libraries
are DLLs, (which EKERN.EXE is not).
2) Graham
1) Made relocatable static data changes appropriate for
our real-time needs.
Jal:
1) Fixed HA-297.
CFileMan::Move cleans up after failure.
2) Fixed HA-299
CFileMan::Copy detects cyclic copies
3) Fixed HA-301
CFileMan::SetAsynchronous has been removed.
All asynchronous functions require a TRequestStatus which is used to logon to the thread.
4) Minor changes to api
RFormat::Open argument changed from TFormatMode to TUint
RFormat::Next argument changed from TPckBuf<TInt>& to TInt&
CFileMan NewCopy,NewMove etc have replaced the old functions
Made recursive CFileMan::Rename illegal due to problems renaming across directories
Removed CFileMan::SetRecursiveSearch and added a switch ERecurse.
Renamed CFileMan::BytesTransferred to BytesTransferredByCopyStep
Removed CFileMan::Logon and CFileMan::LogonCancel
TFindFile::FindByPath now requires a TDesC* to save 512 bytes of stack space
5) Removed aRelPath argument from CDirScan::SetScanData
6) Added TScanDirection to CDirScan
EScanDownTree starts at the top of a directory tree scanning each layer in turn.
EScanUpTree starts from a leaf directory and works upwards.
7) Fixed SW-55
CDirStack::PushL cleans up its argument on failure.
8) Fixed HA-241 - Added TParsePtr and TParsePtrC classes
To save stack space TParsePtr allows the TParse functionality to
be used without copying a buffer to an intermediate TParse.
TParsePtr takes a TDes& which is manipulated by the usual TParse functions.
TParsePtrC takes a TDesC& and the AddDir() or PopDir() functions cause a panic.
9) Fixed HA-298 & HA-412
CFileMan::RmDir uses the callbacks before deleting files/directories.
10) Fixed HA-271
CFileMan::Copy overwrite option bug fixed
11) TFileText::Read returns KErrEof
This is necessary to distinguish the case of reading an empty line from
hitting the end of the file.
12) Changes to file size are flushed to disk before a seek backwards is made.
This is a requirement for Store.
13) Fixed HA-413
CFileMan error reporting capabilities have been enhanced.
TFileManError gives details about the cause of the error and
GetCurrentTarget gives the name of the target of the operation.
14) Enabled the ramdisk to access memory directly.
15) Moved occurances of TEntryArray onto the heap to help prevent out of stack space problems
16) Changed the error returned by RFile::Create from KErrInUse to KErrAlreadyExists
when the conflicting file is open.
17) Additional shell commands
TRACE [0xFFFFFFFF] [/f] [/l] [/s]
/f - turn on Fat filesystem debugging information
/l - turn on Loader debugging information
/s - turn on fileServer debugging information
0xFFFFFFFF - set E32 debug info mask
TRACE 0 - turns off all debugging information.
DEFPATH [string]
Set default path to "string". No argument returns the current default path
18) RFs functions that can act on directories as well as files have been made more user friendly.
Rename, Entry, SetEntry, GetShortName and GetLongName will automatically handle
directory arguments such as _L("C:\\System\\") which previously needed to be passed
without the trailing backslash.
19) RFs::SetEntry and RFile::SetAtt panic if attributes KEntryAttDir or KEntryAttVolume are set or cleared
A check is also carried out for attempting to clear and set the same attributes in the same call.
20) CFileMan callbacks have been removed in favour of a Mixin class as recommended by MartinT.
Version 0.01.046
================
(Made by Jal, December 21st 1996)
1) Fixed cf-card bug.
Cf-card data was being corrupted as the card filled > 170k. However, due to
internal caching of good data the corruption does not appear until after the
card is remounted - which allowed test code to pass.
Version 0.01.045
================
(Made by Matthew, December 13th 1996)
This release is binary compatible with 044
1) Matthew
1) Fixed HA-298 (CFileMan::RmDir() callbacks not called).
2) Morgan
1) Fixed HA-311
Version 0.01.044
================
(Made by Graham, December 9th 1996)
This release is binary compatible with 042
1) Graham
1) Made changes to the PS function in ESHELL.EXE which had
become bugged due to the changes to MatchF() in E32 075.
2) Morgan
1) Bug fix in the loader: The last linked in DLL was being ignored
by the library load finalisation code.
3) Simonb
1) Moved the WINC file server over to the new WINS compatable E32
2) Changed loader code so WINC can load Dll's from anywhere
3) Added new ELOCAL for WINC in the SWINC directory. This
doesn't map drives or mess around with ROM inttracacies.
4) Removed from sf_wins DriveMapping
Version 0.01.042
================
(Made by Graham, November 28th 1996)
1) Matthew
1) Changd lots of functions retuning TInts to identical functions returning
TBools.
2) Changed Wins UID scheme. See E32 release notes.
2) Andrew Thoelke
1) Fixed bug in the code in the fat filing system to expand the lower portion of
the seek index when the file shrunk.
Version 0.01.041
================
(Made by Jal, November 20th 1996)
** Almost binary compatible with 039
** Format has changed. If you do any disk formatting your code will need attention
** Otherwise the release is entirely binary compatible.
1) Improved caching
There is now a global cache shared between all Mounts as a
least recently used list of sector sized segments.
2) Fixed MkDir Bug
MkDir on the root now returns KErrAlreadyExists instead of
KErrBadName
3) Fixed HA-268 access violation from CFileMan::Delete
4) Format overhauled
Format functionality now complies with the SDK.
Open returns a 'count' which is decremented to zero by repeated calls to Next.
EFullFormat fills the entire disk with 0xFF before formatting.
EQuickFormat makes only the minimum changes needed for the disk to appear formatted.
EHighDensity and ELowDensity are ignored.
5) WINS Z: emulation bug fix
Opening a file on Z: with mode EFileWrite now returns KErrAccessDenied in both
wins and arm builds. (Reported by DuncanS)
6) Added a cluster index to RFile to improve seek times
7) Cached the location of the last directory visited
8) TFileText recognises \r\n as a line terminator
9) Added overwrite option to:
CFileMan::Copy
CFileMan::Rename
CFileMan::Move
10) KErrInUse is returned when access to a file is not granted because someone else is using it.
KErrAccessDenied is returned if write privileges are requested on a readonly file.
KErrInUse is returned preferentially to KErrAccessDenied.
Version 0.01.040
================
(Made by Graham, November 8th 1996)
1) Alastair
1) Introduced process status mode, entered by typing "ps".
help information while in the mode is displayed by typing
"?" or "h", and the mode can be exited by pressing "q".
This command is used to display the current state of
O/S resources such as threads, processes, chunks etc.
Version 0.01.039
================
(Made by Jal, November 6th 1996)
** Binary compatible with 038 **
1) Fixed defect preventing ARM Debug booting on 8MB machines.
2) Fixed defect in RFile::SetSize reported by Geert.
Version 0.01.038
================
(Made by Jal, October 26th 1996)
1) Minor changes to API
KWildAny and KWildChar replaced by KMatchAny and KMatchOne
TOpenFileScan::Owner removed
NewSetErrorCondition -> SetErrorCondition, after deleting the old function
TFindFile::File returns a TDesC& instead of a TParse
+ others
2) Changed internal variables in TParse from TInt8 to TUint8
3) Changed the text shell TRACE command to take a hex number rather
than ON and OFF. You can now turn on debug using eg: TRACE FE7F.
See K32STD.H for list of KTRACE_OPT values which can be set for
different levels of debug information available from E32
Version 0.01.037
================
(Made by Jal, October 18th 1996)
** This release is binary compatible with 036 **
1) BugFix: CF cards are now mounted as they are inserted.
2) Fixed Protea B2 HA-192: Open files can no longer be deleted
3) BugFix: Stopped zero length reads on a CF cards reporting an error.
4) Fixed Software defects HA-247: WINS build converts ERROR_DISK_FULL to KErrDiskFull
5) Fixed Protea B2 HA-201:
Only C, D, E, F, and G appear as local drives on TDriveList.
NB: E, F and G are available as partitions on a CF-Card.
6) Added wildcard file location to TFindFile
7) Fixed bug in EShell. Del with no arguments deletes no files.
8) Added a count to the SetErrorCondition function.
To preserve binary compatibility I had to make it a new function NewSetErrorCondition
which will be renamed when the old function is deleted after an unfreeze.
9) Added another callback to CFileMan.
CallBackDuring() is called while copying files. A return value of ECancel will stop the
copy, EContinue to carry on.
10) Added BytesTransferred() function to CFileMan.
This function is to support the smooth increment of progress bars during a file copy.
BytesTransferred should be called within a CallBackDuring().
11) CF-cards format has been changed again. They can now be freely transfered between protea
and your PC.
12) Some optimisations to RFile::Seek. More to follow.
13) The loader has moved into a thread that is continuously running. This should
prevent problems caused by the interaction between the loader and the undertaker.
Jane
1) Fixed a few places where code assumed KErrGeneral==KNotFound
Version 0.01.036
================
1) Morgan
Changes to EPOC platform:
1) Fixed RAM loading of statically linked libraries: A DLibrary
of a statically linked DLL is now created relative to the newly
created process.
Also, the call to UserSvr::LibraryLoaded for each library is delayed
until all Dlls are loaded so that the code chunk is not protected
before the loader is able to fix-up the imports and entrypoints.
And, the DllRefTable of a library/exe is updated for all of its
imported DLLs, not just the ones that have not already been 'seen'
further up the load chain.
2) Added 4 Uids (for Uid1) that are checked for EXEs and DLLs at load time:
KNarrowDebugUid, KNarrowReleaseUid, KWideDebugUid, KWideReleaseUid.
3) Added type safe linking for statically linked DLLs. The libraries 3rd
Uid is encoded in the DLL's export name. eg. TEST[12345678].DLL would
link to TEST.DLL and the 3rd Uid would be verified to be 0x12345678
when it was loaded.
4) Change to E32ImageHeader and TLoaderInfo data structures to add
iPriority member.
2) Jal
1) *.* matches all filenames, with or without extensions.
2) TOpenFileList is implemented.
Calling TOpenFileList::Next returns a CFileList of files
opened by one RFs session.
3) Fixed Notify bug. Multiple sessions can now be notified of
file changes.
4) Various changes to CFileMan.
All operations are now implemented and allow recursion through
subdirectories.
5) Bug fix to WINS RFs::SetEntry.
Setting the time on a read only file gave KErrAccessDenied
- spotted by Dominic.
Version 0.01.035
================
(Made by Jal, September 27th 1996)
1) Added an ESortNone option to TEntryKey.
Any code that relied on ESortByName == 0 will be broken by
this change.
2) SteveG:
1) Added DEBUG command to the E32 text shell which starts the GDB stub. Type
debug <filename>. The stub, D_GDB.EXE, must be present in Z:\SYSTEM\LIBS
and should be after EUSER.DLL and before anything you are debugging
in the ROM obey file. D_GDB will live in Z:\SYSTEM\PROGRAMS in
future, but for now problems may occur if it is not in LIBS.
2) Fixed a few bugs in the shell to do with running executables when supplying
paths from different drives or directories.
Version 0.01.034
================
(Made by Jal, September 23rd 1996)
1) Local drive attributes are initialized even if a disk is not present.
- TDriveList will now contain entries for all local drives.
- TDriveInfo.iType is set to EMediaNotPresent if the drive doesn't contain a disk.
2) Changes to CFileMan.
By default CFileMan provides synchronous functions.
Call SetAsynchronous(ETrue) to make CFileMan operate asynchronously within a low priority thread.
An optional callback function is checked after each successfully completed or
failed operation and should return retry, continue or abort.
3) Bug fix: Under WINS drive C: now returns the correct media attributes.
4) TDriveUnit added to F32FILE.H from BillB.
5) Bug fix: TFindFile no longer panics if its RFs session cannot connect.
A connected session is passed in during construction.
6) Bug fix: EShell Type command opens files with mode EFileShareAny
7) A change to the bootsector format means any cf-cards formatted by release 033 will not be recognised.
Morgan
1) Extended Library and Process loading in line with E32.
2) Added more library loading test code.
Version 0.01.033
================
(Made by Jal, September 11th 1996)
1) Initial path moved to C: on all platforms.
2) Bug fixed: NTFS Uid streams can now be read.
3) Bug fixed: Code no longer attempts to read a UID from a file with length < sizeof(TCheckedUid)
4) EShell now has a fully functional single line editor - thanks to SteveG
5) TParse changed:
The path and extension are now inherited regardless of drives.
6) KErrDiskFull is now returned when you run out of disk space.
7) All WINS drives are now hidden by default.
WINS drives may be accessed by using environment variables.
SimonB
1) Created a new MAK file in BWINC - EFSRV. This contains both client and server side of the file server code.
2) Changes to initialisation code, with the removal of the dependancy on k32Std.h !
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__
4) MNT file changes in parallel with e32.
Version 0.01.032
================
(Made by Jal, September 7th 1996)
1) Jane
1) Added environment path & system directory searching for exe loading
2) Added environment path searching for dll loading, and improved
WINS loading scheme to cope with new scheme for C: and Z:
2) Jal
1) The directory that represents drive C: under WINS will default to
the current drive. Similarly, the current drive will be used if the drive
is omitted from an environment variable value.
2) CFileMan::Copy and Move have been implemented and will handle
wildcards.
3) Bug fixed - RDir::Open no longer returns an error if the directory
is empty.
4) Added TDriveNumber, an enum to enumerate drives.
5) Implemented RFs::Replace(anOldName,aNewName);
The code is equivalent, for most purposes, to
Delete(aNewName); // ignore error
Rename(anOldName,aNewName); // pay attention to error
The critical difference is that the function is atomic. That is, it avoids
the caller having to worry about the case of the Delete succeeding and the Rename failing.
6) Added functionality to TFindFile::FindByPath
If the path does not specify a drive letter all drives are
searched in turn from A -> Z.
7) The real FAT and ROM filesystems may be added under WINS for
testing purposes.
test.Next(_L("Mounting FAT filesystem"));
r=TheFs.AddFileSystem(_L("EFAT"));
test(r==KErrNone);
r=TheFs.MountFileSystem(_L("Fat"),EDriveY);
test(r==KErrNone || r==KErrCorrupt);
if (r==KErrCorrupt)
FormatFat();
test.Next(_L("Mounting ROM filesystem"));
r=TheFs.MountFileSystem(_L("Rom"),EDriveX);
test(r==KErrNone);
(Code taken from T_SCAN.CPP)
8) Initial default path is set to Z: on all platforms.
Version 0.01.031
================
(Made by Jal, August 29th 1996)
1) ROMFILE.BIN and IRAMLDRV.BIN have been superseded by a new system
on the WINS platform.
C: now shows the files in C:\Epoc32\WINS\C
Y: has disappeared forever.
Z: now defaults to C:\Epoc32\WINS\Z
Those who live on D: or have a very good reason to use a
different path can set an environment variable _EPOC_DRIVE_?
(where ? is the drive letter). eg:
set _EPOC_DRIVE_C=D:\Epoc32\WINS\C
set _EPOC_DRIVE_Y=C:\MY_Y_DRIVE
2) RFs::IsRomAddress is not supported by the new system and will
be removed after the api is unfrozen.
Version 0.01.030
================
(Made by Jane, August 26th 1996)
1) Jane and Jal
Various mnt.cmd and bld.cmd bug fixes for the new directory scheme.
2) Morgan
Various WINC build problem fixes for the new directory scheme
Version 0.01.029
================
(Made by Jane and Jal, 17 August '96)
1) Fixed bug in RFs::Delete - corrupted disk when size > 0.5MB
2) Stopped bad relocations warnings from being triggered by EShell
3) Added EFSRVD.DEF to \F32\BWINS\LI.PRJ
4) RFile::ChangeMode(TFileMode aMode) added.
Allows the share mode of a file to be toggled between EFileShareExclusive and EFileShareReadersOnly.
Passing any other value returns KErrArgument.
KErrAccessDenied is returned if a file has multiple readers and aMode==EFileShareExclusive or if the
file share mode is EFileShareAny.
5) Fixed "md" bug in Shell.
6) Added functions to allow access to short (8.3) filenames.
(For use by people trying to talk to primative 16bit windows apps ie: Psiwin)
RFs::GetShortName(const TDesC& aLongName,TDes& aShortName);
- Gets the short name associated with the VFAT aLongName
- aLongName must include the full path to the file if it differs from the sessionPath
RFs::GetLongName(const TDesC& aShortName,TDes& aLongName);
- Gets the VFAT version of aShortName
- aShortName must include the full path to the file if it differs from the sessionPath
7) The WINS filesystem now returns long filenames as we now have an alternative method for accessing short ones.
8) Renamed RFileText to TFileText and removed obselete close method.
9) Changed function names:
const TParse& CDirScan::RelPath() -> TPtrC CDirScan::AbbreviatedPath()
const TParse& CDirScan::AbsPath() -> TPtrC CDirScan::FullPath()
void CDirScan::SetScanDataL(...) changed TEntryKey to TUint
TPtrC CFileBase::RelPath() -> TPtrC CFileBase::AbbreviatedPath()
TPtrC CFileBase::AbsPath() -> TPtrC CFileBase::FullPath()
void CFileMan::Attribs(const TParse& aFileName,TUint anAttributes) -> Attribs(const TParse& aFileName,TUint aSetMask,TUint aClearMask)
void CFileMan::Copy(const TParse& aName,const TParse& aNewPath) -> Copy(const TParse& aName,const TDesC& aNewPath)
void CFileMan::Locate(const TParse& aName,const TDesC* aSearchPath=NULL); has been removed.
void CFileMan::LocateByPath(const TParse& aName,const TDesC* aSearchPath=NULL); has been added, but not implemented
void CFileMan::LocateByDir(const TParse& aName); has been added, but not implemented
10) Added api for TOpenFileScan. (not yet implemented)
This class allows the user to iterate through the files that are currently open.
Calling Next creates a CEntryList (a typedef of CDir) of the files opened by a thread.
The owner of the files listed is returned by calling Owner().
11) Added api for function RFs::Replace (not yet implemented) as proposed.
TInt RFs::Replace(const TDesC& anOldName,const TDesC& aNewName);
12) Added RFs::IsRomAddress
13) Added api for RFs::GetNotifyUser and RFs::SetNotifyUser (not implemented)
If NotifyUser == ETrue the user is automatically requested to replace a CF card whenever necessary.
If NotifyUser == EFalse an error is returned to the caller - a file may be marked corrupt if a write failed.
Details:
When attempting a read a check is made to ensure the disk is available. If it is not already present in a drive the
user is asked to replace the disk. The request is repeated until the user complies or aborts the read. In this case
an KErrAbort is returned.
If the disk is removed while writing data the user is requested to replace the disk and warned that failing to do so
will result in the loss of data. If the user aborts the write the file is marked corrupt and KErrAbort is returned.
Version 0.01.028
================
(Made by Graham, 27 July '96)
1) Ported B_GEN.CPP and fixed the bugs it showed up.
2) Made more changes to the shell.
Invalid switches should no longer cause a panic
Batch files and executables can be run without specifying the .XXX extension.
3) TInt RFs::CheckDisk(const TDesC& aDrive) method added.
Returns KErrNone or an error is the disk is corrupt.
4) void RFs::SetErrorCondition(TInt anErrorCode) method added
Causes calls to the fileserver to fail with error anErrorCode. (anErrorCode==KErrNone clears the failure mode)
- Only available in the debug build.
5) Operations on the ROM such as write to file, create new directory etc now return KErrAccessDenied instead of KErrNotSupported
6) Compression for the internal ram drive has been implemented.
Version 0.01.027
================
(Made by Graham, 02 July '96)
1) VFAT has been implemented
Strings of upto 255 chars in length may be used as file or directory names.
This has enabled us to produce the first tested Unicode release of the
fileserver for some time.
2) Fixed NT time <-> TTime conversion
MarkT reported a 1hr discrepancy between files listed from a dos box
and files listed in the shell.
3) Notify has been implemented
RFs::Notify allows programs to automatically update file information as changes occur.
4) Change to TSeek
OLD :: enum TSeek {EAddress,EStart,ECurrent,EEnd};
NEW :: enum TSeek {ESeekAddress,ESeekStart,ESeekCurrent,ESeekEnd};
5) The FAT is now cached
6) Directory entry bug fixed:
Directories with > 26 entries corrupted the FAT
7) Rename checks for duplication of file names. Rename across directories is implemented.
The error returned if a rename across drives is attempted has been changed to KErrArgument.
8) Improvements to the shell from Matthew:
Wildcards and a new destination can now be specified in Copy.
Delete also accepts wildcards.
Various bug fixes.
9) Fixed bug HA-162 in RDir asynchronous read
RDir::Read(TEntry& anEntry,TRequestStatus& aStatus) <- old
RDir::Read(TPckg<TEntry>& anEntry,TRequestStatus& aStatus) <- new
Jane -
1) RAM loader code changed to support new E32Image format (E32TOOLS 029 and later.)
IMPORTANT NOTE - You must now update to the latest version of E32TOOLS. This
version of E32/F32 is incompatible with versions of tools pre 029.
2) Added limited support for search paths in RAM loading of DLLs. More will be added with an additional
search path parameter in the client interface.
Version 0.01.026
================
(Made by Graham, 31 May '96)
1) Graham
Fixed bug in loader with EXE files which import from more
than one DLL.
2) Jal
Fixed UID bug. Uids were being read all the time regardless
KEntryAttAllowUid.
3) Made GetDir sort using CompareF instead of just Compare.
Version 0.01.025
================
(Made by Graham, 30 May '96)
1) Implemented RFileText.
RFileText::Read reads a terminated line of text into a descriptor
RFileText::Write writes the descriptor data to the end of the file and adds a terminator
RFileText::Seek seeks to either the start or end of a file or panics.
- after J-Day this will change to TFileText as the close method is not required.
2) Changes to TShell (from DW) that display more information if a process panics.
3) Implemented TFindFile
TInt TFindFile::FindByPath(const TDesC& aFileName,const TDesC& aPathList);
- Looks for aFileName then searches the semicolon delimited aPathList.
TInt TFindFile::FindByDir(const TDesC& aFileName,const TDesC& aDir);
- Looks for aFileName in directory aDir on all drives - the default drive is searched first.
TInt TFindFile::Find()
- Searches the next drive or member of the pathlist.
void TFindFile::File()
- Returns the last file found
Return values are KErrNone or KNotFound
4) Added change suggested by SimonB to WINS filesystem (HA-154)
5) Modification to Uid behaviour under WINS at the request of GeertB:
A check for a uid at the start of a file is made when the NTFS :UID stream is not present.
6) Fixed bug HA-152. The name of the file generated by RFile::Temp now specifies the drive.
7) Fixed bug HA-139. The archive file attribute is now set when:
The file is created or replaced.
The file is written to.
Version 0.01.024
================
(Made by Graham, 24 May '96)
1. Rename bug fixed - spotted by DominicP
2. Implemented Uids.
If RFs::GetDir is called with KEntryAttAllowUid selected the
entrylist will contain UID information if it is present.
All calls to RFs::Entry will return UID information.
The WINS ELOCAL.FSY implements uids as an NTFS filestream "UID"
associated with the file.
WINS uid filestreams may be created and read using the tool e32uid.exe
3. Created new directory TMAN for non-standard tests that must be run manually.
4. Changed implementation of RFile::Write
All clusters required for a write are allocated
before data is written.
5. The mode argument of RFile::Create and RFile::Replace is
now automatically ored with EFileWrite.
6. GetDir on the root directory of an empty floppy in a: no longer
returns an error.
7. Jane
Added support for RAM loading of dlls and exes. Currently entrypoints
are called in the same manner as for ROM exes and dlls, i.e. only once
for a process attach, and never for a thread attach/detach, or a process
detach.
Version 0.01.023
================
(Made by Jal, 9 May '96)
JAL:
1). Changed RFile::Read() to not return KErrEof.
Version 0.01.022
================
(Made by Colly, 6 May '96)
Colly:
1). T_RCOUNT.EXE would fail if it was run from the command line
as T_RCOUNT without the .exe extension. This was because the
program tried to open itself. Fixed this with a hack since the
O/S was at fault not returning the full path name and leaving
off the extension .exe
2). F32MSG.H was incorrectly namedas it is a private header file.
Renamed to message.h.
3). Added some inline functions to f32file.h which meant a new
header file f32file.inl. So remember to update all dependencies.
Jal:
1). Arguments to GetDir changed from aFileList to anEntryList -
the former was misleading as the entries listed could be either
files or directories.
2). CDirScan added. This provides functionality for traversing a
directory structure. CDirScan::SetScanData sets the root of the
structure. CDirScan::Next returns the directory contents. Repeatedly
calling next will move through the directory structure. See the
test code T_SCAN.CPP for an example.
3). TShell: Matthew has made a few changes to replace explicit numbers
with meaningful constants. CShell now owns a CConsoleBase* instead of
subclassing CConsoleTextWin - as suggested by DW.
4). As requested by KevinD:
RFile::Read returns KErrEof if it cannot read any more data.
5). Stub functionality has been added for:
CFileMan - active object support for functions that are recursive
or can take a wildcard.
CFileBase - base class for CFileMan
RFileText - read/write \cr\lf delimited text records from a file.
RRawDisk - allow direct disk access, no other resources can be open
during direct access
RFs::ListOpenResources - returns a list of the currently open resources
RFs::ListOpenFiles - returns a list of the currently open files.
TFormatMode::EQuickFormat - just resets the FAT table and root directory
I'm still looking at ways to test for server side alloc heaven from
client side test code. Hence some provisional debuging facilities
have been added:
RFs::ServerHeapMarkStart();
RFs::ServerHeapMarkEnd();
RFs::ServerHeapFailNext(TInt aCount);
Further functions to simulate Read/Write, low battery etc failures
are under discussion.
6). Added automatic formatting of the RAM drive to the startup sequence.
7). Added Universal identifiers to TEntry
TEntry::operator[](TInt anIndex) const;
TEntry::IsUidPresent(TUid aUid) const;
TEntry::IsUidValid() const;
8). mnt.cmd:
Added %_F32VER% as the second parameter of all recursive
getXXX calls to fix defect HA-121 reported by DavidW
9). RFs::GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList)
Changed argument name aFileList to anEntryList to reduce confusion as
reported in defect HA-90 by SimonC. anEntryList can contain either
files, directories or both depending on anEntryAttMask. eg:
anEntryAttMask=KEntryAttMaskSupported => list all entries
anEntryAttMask=KEntryAttDir|KEntryAttMatchExclusive => list directories only
anEntryAttMask=KEntryAttNormal => list files only
10).Shell Copy Command: Will not change the time stamp to fix HA-109
reported by SteveG
Version 0.01.021
================
(Made by Graham, 24 April '96)
1) Fixed exception generated when trying to access a non-existent drive.
(Reported by Brendan as defect HA-108)
2) Add to .OBY files
file=c:\work\emarm\elocald.fsy sys\elocald.fsy
3) Renamed T_FORMAT to T_MISC as it includes many simple, general tests as
well as formatting.
4) RFs::MkDir trying to create a root directory on a mounted drive:
MkDir(_L("\\")); or MkDir(_L("\\PROG")); will now return KErrAlreadyExists.
If the drive is not mounted the return value could also be
KErrNotReady or KErrCorrupt.
5) RFs::RmDir when trying to delete a root directory returns KErrInUse.
In general, not ready errors, corrupt media, etc are given priority
over other errors.
6) KDefaultDrive=KMaxTInt, the previous value was zero. This allows
simplification of drive numbering. Now A: has value 0, B: =1 etc
7) Split the fat file system off into its own dll. In WINS this is called
EFAT.FSY because the local filesystem is NT. For other platforms the
fat filesystem is named is ELOCAL.FSY. NB: .OBY files will need to
add the extra line: file=c:\work\emarm\elocald.fsy sys\elocald.fsy
8) Deleted obselete file F32Locl.cpp from SWINS directoryrCorrupt.
Version 0.01.020
================
(Made by Graham, 8 April '96)
1) Jal,
Run test programs on X86 and ARM platforms.
MkDir acts only on the path presented by its argument and will
ignore any filename.
eg:
MkDir(_L("C:\\PROG1\\PROGDATA.TXT")); will create a PROG1
directory.
MkDir(_L("C:\\PROG1\\"); is exactly equivalent to the above.
MkDir(_L("C:\\PROG1"); will return KErrBadName
Similar changes have been made to RmDir() and RDir::Open().
This change should be made consistently across all directory
oriented functions - please report any I miss.
TParse Set(aName,aRelated,aDefault):
aName of the form "xxx\yyy" now returns KErrBadName
Any name that contains a '\' is treated as a path and therefore
must start with a '\'
Set(_L("\\xxx\\yyy"),NULL,_L("C:\\BBB")); returns a drive "C:"
path "\xxx\" name "yyy"
RFile::Commit has been renamed to Flush
GetDir functionality should now be consistent across rom, fat and
local drives:
GetDir(Path_Ignoring_Name,Selection_Flags,Ordering_Flags,FileList)
GetDir(Path_Ignoring_Name,Selection_Flags,Ordering_Flags,FileList,DirList)
eg:
GetDir(_L("C:\\"),NULL,NULL,aFileList); lists files only from the
root directory into aFileList
GetDir(_L("C:\\"),KEntryAttDir,NULL,aFileList); lists all files
and directories excluding hidden and system files
GetDir(_L("C:\\"),KEntryAttMaskSupported,NULL,aFileList); lists
everything except the volume entry.
GetDir(...,...,...,...,aDirList) aDirList lists all directories
in addition to the above functionality.
TParse:: if aName or aRelated overrides the aDefault drive the
rest of the default information
is considered invalid and the default is treated as the root path
_L("\\");
eg:
TParse.Set(_L("World"),&_L("Y:"),&_L("X:\\HELLO\\.EXT"));
produces a fullname _L("Y:\\World");
Version 0.01.019
================
(Made by Morgan, 18 March '96)
1). Matthew,
Redesigned the text shell to allow it to be more easily
maintained. Also added support for batch files.
2). Jal,
An implementation of TPlatDrive from PeteS. Enables F32 to read and
write to a fixed length file on C: via TLocalDrive.
Added code to TBool P::Initialise() to initialise the
TPlatDrive array.
Version 0.01.018
================
(Made by Morgan, 23 Feb '96)
1).
Updated to work with E32 build 054.
2). Matthew
Uses the new versions of CServer and CSession.
Improved the test shell: added TYPE and HEXDUMP commands, made CD
remember the current directory for each drive, and added extra
switches, including '/?'.
3). Jane
Fixed bug in F32 loader (not completing with correct error status)
- now when you try to run a non-existant app you get a helpful
little "File Not Found" error message.
Version 0.01.017
================
(Made by Morgan, 29 Jan '96)
1). Updated to work with E32 build 053.
2). Removed all trace of old date/time classes.
3). Added a GETSRC verb to MNT.CMD
Version 0.01.016
================
(Made by Matthew, 16 Jan '96)
1). Matthew
Updated to work with E32 build 52, including partial conversion to
the new date/time classes.
Version 0.01.015
================
(Made by Matthew, 21 Dec '95)
1). Updated to work with E32 build 051.
2). Jane
Added support for dll and device loading under EPOC.
Version 0.01.014
================
(Made by Matthew, 12 Dec '95)
1). Geert
Updated to work with the new definition of TBool in E32 build
050. See the E32 release notes for information on these changes.
2). Jane
Added cleanup verb to build system.
3). Matthew
Improved test shell to run test programs on EPOC, and added a
few DOS-esque commands (try HELP).
Version 0.01.013
================
(Made by Matthew, 21 Nov 1995)
1). Updated to work with E32 build 049.
Version 0.01.012
================
(Made by Colly, 30 Oct 1995)
1). Updated to work with E32 build 048
2). Added builds for the Arm version in \f32\bmarm.
3). Added support to load DLLs.
Version 0.01.011
================
(Made by Colly, 9 Oct 1995)
1). Updated to work with E32 build 047
2). The file server was not synchronising its startup with the kernel
properly. Fixed.
Version 0.01.010
================
(Made by Colly, 2 Oct 1995)
1). Updated to work with E32 build 046
2). b_rand.cpp now compiles and runs in unicode builds. May thanks to
Geert for fixing this.
3). Added the basic text windows shell. The source is in \F32\TSHELL
4). Added the loader server to support EPOC/32 builds.
5). For EPOC/32 builds, made the file server scan for a window server
in \SYS directories called WSERV?.EXE. It will load the correct
window server according to the build of the file server being
executed, i.e. WSERV.EXE, WSERVD.EXE, WSERVU.EXE and WSERVUD.EXE.
It is also presumed that the window server will scan for a shell
in \SYS directories. The shell is epected to be called SHELL?.EXE.
6). Added RFs::AddFileSystem() and RFs::RemoveFileSystem(). These
functions allow file systems to by dynamically added and removed.
7). The ROM filing system was not opening files with the archive bit set
as normal files. Fixed.
8). Added the text shell to the group.
9). If a drive was not ready and a file or directory was opened on it no
error was reported even though ity had failed.
10).The ROM file system was not reporting the size of files correctly.
Version 0.01.009
================
(Made by Colly, 30 Aug 1995)
1). Updated to work with E32 build 045
2). Added the ROM file system for WINS. This will load a file
in \E32SYS\ROMFILE.BIN as the ROM filling system. This file
can be built with the E32ROM.EXE building tool or the T_ROMG.EXE
test program. Note that under WINS DLLs and EXEs cannot be loaded
from the ROM filing system. For unicode the file ROMFILEU.BIN is
generated. T_ROMG.EXE wants the path name of a directory as its
argument. The contents of the sepcified directory become the root
of the ROM file system. T_ROMG.EXE will include all sub-directories
of the specified directory. Note that the ROM file system will
appear as drive Z:.
3). First release of EPOC32/X86 version of the file server and ROM
file system.
Version 0.01.008
================
(Made by Colly, 23 Aug 1995)
1). Updated to work with E32 build 044
Version 0.01.007
================
(Made by Colly, 21 Aug 1995)
1). All DLLs now link by ordinal.
2). Updated to work with E32 build 043
NOTE
All test now pass in all builds. i.e. The file server is now working
in release builds.
Version 0.01.006
================
(Made by Colly, 25 July 1995)
1). Completed implementation of CDir::Sort().
2). RFile::Seek() was not supporting EAddress seek type properly. Fixed.
3). Moved the .MAK files to \F32\BWINS so the .PDB debug databases get
full pathnames to the source files.
4). Fixed the file server bug which was causing the server to crash when
closing the connection to the server.
Version 0.01.005
================
(Made by Colly, 20 July 1995)
1). Upgrade to support E32 build 040.
2). Use the new build strategy using nmake
3). Pick up E32 headers from \E32INC
4). Unicode versions of the file server are now working.
5). Changed the RFile::Read() function to take an argument of
TEntryArray which is a new CDT to hold a packed array of entries.
TEntryArray just has Count() and operator[] so that it is
"LIKE" the CArray classes. Althought the read packed entries functions
are public they are really intended for use by the RFs::GetDir()
functions. i.e. Use RFs::GetDir() in preference.
6). The CDir class is now implemented as are the RFs::GetDir()
functions. CDir::Sort() still needs to be implemented.
NOTES
b_rand.cpp does not compile in Unicode.
Version 0.01.004
================
(Made by Colly, 23 June 1995)
1). Fixed a number of the functions which should have been const to
be const.
2). Changed to work with build 039 of E32.
Version 0.01.003
================
(Made by DavidW, 19 May 1995)
1). Rebuilt on my PC and re-released so that EFSRVD.DLL doesn't want
to import _adjust_fdiv from MSVCRT20.DLL (that function doesn't seem
to exist in that DLL on PCs at work!)
Version 0.01.002
================
(Made by Colly, 17 May 1995)
1). Fixed a bug in RFile.Temp() which was not returning the name
of the temporary file properly.
2). Converted the test program B_RAND.CPP.
3). Added test program T_LOCK.CPP
4). Fixed a bug in locking overlapped regions.
5). Changed T_FSRV.CPP to use O: rather than Z:
6). Recording the size of compnents in the release history.
Comp Date Bld .text .bss .rdata .data .idata Total
===== ========= === ====== ====== ====== ====== ====== ======
EFSRV 17-Mar-95 2 17502 1312 332 152 5414 23400
Version 0.01.001
================
(Made by Colly, 9 May 1995)
1). First release.
Started with the design for the file server, had it reviewed and
implemented it all in just two weeks.
The main header file is F32FILE.H.
The header file F32FSYS.H is for the use of implementers of file
systems which are used by the file server.