Commit 66f1eef3 authored by Robert Sprowson's avatar Robert Sprowson

Fix abort mounting old map discs

The massive speedup in FileCore 3.50 by not loading the map sector wise (twice) on mounting meant that the code path to resize the dynamic area for the map had changed.
So, with DynamicMaps = {TRUE} mounting an old map disc would try to load the map into a zero size area (the area had an allocated address but was 0 bytes long).
Aside: reading a new map disc first, then swapping to an old map disc would mask the problem since the dynamic area is only shrunk on an active dismount.


Version 3.53. Tagged as 'FileCore-3_53'
parent 3007949f
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "3.52"
Module_Version SETA 352
Module_MajorVersion SETS "3.53"
Module_Version SETA 353
Module_MinorVersion SETS ""
Module_Date SETS "09 Jul 2012"
Module_ApplicationDate SETS "09-Jul-12"
Module_Date SETS "21 Oct 2012"
Module_ApplicationDate SETS "21-Oct-12"
Module_ComponentName SETS "FileCore"
Module_ComponentPath SETS "castle/RiscOS/Sources/FileSys/FileCore"
Module_FullVersion SETS "3.52"
Module_HelpVersion SETS "3.52 (09 Jul 2012)"
Module_FullVersion SETS "3.53"
Module_HelpVersion SETS "3.53 (21 Oct 2012)"
END
/* (3.52)
/* (3.53)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 3.52
#define Module_MajorVersion_CMHG 3.53
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 09 Jul 2012
#define Module_Date_CMHG 21 Oct 2012
#define Module_MajorVersion "3.52"
#define Module_Version 352
#define Module_MajorVersion "3.53"
#define Module_Version 353
#define Module_MinorVersion ""
#define Module_Date "09 Jul 2012"
#define Module_Date "21 Oct 2012"
#define Module_ApplicationDate "09-Jul-12"
#define Module_ApplicationDate "21-Oct-12"
#define Module_ComponentName "FileCore"
#define Module_ComponentPath "castle/RiscOS/Sources/FileSys/FileCore"
#define Module_FullVersion "3.52"
#define Module_HelpVersion "3.52 (09 Jul 2012)"
#define Module_LibraryVersionInfo "3:52"
#define Module_FullVersion "3.53"
#define Module_HelpVersion "3.53 (21 Oct 2012)"
#define Module_LibraryVersionInfo "3:53"
......@@ -1323,13 +1323,16 @@ ReadFsMap ROUT
DLINE "old map"
]
; Read map
; Ensure there's enough space to load an old map
BL AdjustFsSpace ; (R1,R4,R5->R0,V)
[ DynamicMaps
LDR r3, [r4, #DrvsFsMapAddr]
|
LDR r3, [r4, #DrvsFsMap]
BIC r3, r3, #HiFsBits
]
; Read map
MOV r4, #SzOldFs
MOV r2, r1, ASL #(32-3)
MOV r1, #DiscOp_CachedReadSecs
......
......@@ -2223,10 +2223,10 @@ TestMap ROUT
TSTS R0, #OldMapFlag
[ DebugE
BNE %FT01
DLINE "new map"
DLINE "test new map"
B %FT02
01
DLINE "old map"
DLINE "test old map"
02
]
Pull "R0,PC"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment