Hi,
--- In fat32dev@yahoogroups.com, "KO Myung-Hun" <komh@...> wrote:
>
> Hi/2.
>
> This is a GA version of FAT32 v0.9.13.
>
> And there are the following changes since v0.9.12.
>
> -----
> - Fixed the problem that a program trying to READ/WRITE from/to memory
> object
> with OBJ_ANY attribute is crashed. But READ/WRITE performance is
> decreased.
> Reported by dixie.
I looked at the 0.9.13 code. May I suggest the following for
FS_READ/FS_WRITE:
keep my code, create an additional 64 k local buffer (FS_READ/FS_WRITE
never pass user buffer > 64k, because they cannot) then read into that
local buffer and use memcpy to copy to final user buffer (FS_READ, and
vice versa for FS_WRITE).
That will at least keep the performance gain to read/write as many
adjacent clusters as possible. Memcpy performance is considerably
faster then calling FSH_DOVOLIO individually for each cluster.
The problem is: FSH_DOVOLIO does not allow to work from/to buffer
allocated via OBJ_ANY (for whatever reason). But memcpy does.
Lars