Hartmut Birr wrote:
[cc02.diff]
Don't try to map data past the end of file in VFAT.
I think that this patch isn't necessary, because the real problem is
in pin.c.
At first I did the same thing as you did in the attached patch. Then I
actually followed it by some testing on Windows and _it is possible to
map data past the end of file_ with CcMapData. I haven't tried to access
the mapped memory though...
[cc03.diff] Fix incorrect check in CcMapData.
The check which you have changed was correct. Currently the file size
is limited to the number of cache view entries. I will implement a
x-level tree structure in the future. But some other checks are
incorrect. I've add a patch.
Oh, sorry, I didn't realize it's checked because of multi-level VACB
tables. A comment would have been helpful ;-)
Also I've
patch which fixes fast mutex implementation and it's usage,
which depends on these cache manager changes.
[snip]
To clarify this, the fix I have fixes some small issues with FAST_MUTEX
implementation and changes it to actually raise to APC_LEVEL instead of
entring critical section. Many people (especially Mike Nordell ;-) have
been complaining about it for some time and all previous attempts to fix
it failed because of the broken locking in cache manager. Now that you
have done the dirty work, it's finally possible to correctly fix this
issue... ;-)
Regards,
Filip