[Lazarus] Lazarus SVN build "stucked" to TFPCSourceCache.Update after ran

Thierry Bothorel thierry.bothorel at gmail.com
Mon Sep 27 22:48:43 CEST 2010

On 27 September 2010 14:45, Mark Morgan Lloyd
<markMLl.lazarus at telemetry.co.uk> wrote:
> Henry Vermaak wrote:
>>>> The only delay I can see (after fsync) would be due to the hardware
>>>> cache of the disk in use (or a defective drive). On linux you can call
>>>> hdparm to flush on-disk caches.
>>> But is hdparm fully supported by external Flash cards, and does it
>>> return before or after data is guaranteed to be filly committed?
>> This is a red herring (sorry, my mistake).  Compact flash cards (and other
>> removable media) are block devices, they have firmware that do this flash to
>> block emulation.  I realise now that Michael meant that some cf cards have
>> crappy firmware that can't handle power cuts.  There isn't much you can do
>> about that, but choose a good cf card or usb stick.
> But there are several different interfaces to Flash storage technology,
> CompactFlash (i.e. PCMCIA -> IDE/ATA) is only one of them. Different
> considerations probably apply to other MTD devices (in particular SD and its
> derivatives), which might make them either more or less vulnerable to abuse.

CF, SD, MMC, USB stick, etc. are not MTDs.  They will all have a
translation layer inside to talk to the flash chip and make them look
like block devices.  Due to this translation layer they will all have
this problem (according to Michael, at least), irrespective of the
interface (USB or PCMCIA).  With an MTD you are in control, since you
are talking to the flash directly.

We have a simple device that allows the user to transfer data onto a
USB stick.  I just call sync when the copying is done and I haven't
noticed anything weird when randomly pulling the stick out.  Since a
USB stick also has this translation layer, surely I would've had
problems?  Maybe I'm just lucky, or maybe CF cards are worse than USB


More information about the Lazarus mailing list