Hi!

FAT is always a finicky filesystem, especially if you're utilizing a
caching or BIOS emulation for USB HDDs.  Are you using a caching program
like lbacache, cdrcache, smartdrv, etc?

Of those 3, only SMARTDRV can cache data before it gets written.
Even this delayed write caching is a config choice of the user.

The other 2, as well as Jack's drivers with built-in caches,
always send writes to the disk immediately. They only use the
cache to speed up reads. The don't delay writes as in collecting
them in DOS-based cache RAM and then sending them to disk later.

However, various types of harddisks and SSD have built-in caches
which can collects written data before it actually gets sent to
disk. And even without a cache, a shutdown or reboot can easily
happen at a moment where some disk contents are being sent to
disk and only some of them have arrived yet.

As a rule of thumb, it is generally safe to disconnect drives or
shutdown or reboot DOS as soon as you are back at the DOS prompt
and the disk activity light has stopped. Maybe wait an extra sec.

Longer waits or explicit flushes of write caches should only be
necessary if you have explicitly enabled such caches. SMARTDRV,
when you tell it to enable delayed write caching (DR DOS NWCACHE
also has a "write pooling" mode as a "smaller" write delay choice)
will monitor some activities to trigger flushes itself:

For example, it would flush the write cache when an app exits
(or returns to the prompt) or when you press ctrl-alt-delete
or when there were no disk accesses for some amount of time.

Regards, Eric




_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to