The Haiku/BeOS Tip Server
Tips and tricks for Haiku/BeOS users

BFS partitions and FAT slowdown

Contributed by: Cyan
This tip is valid for: Both BeOS and Haiku

Planning on making a BFS partition or larger image file for BeOS to reside on? Or perhaps you’ve already made one, and now have a new, intermittent problem, which makes your computer’s FAT file system access too slow to be bearable; causing the processor usage to go through the roof, while you transfer data at the thrilling speeds of down to 128 kilobytes per second!

If you’ve ever experienced an intermittent, massive slowdown when accessing (and in particular; writing to) FAT (16/32) partitions, which seems to crop up randomly, but has something to do with the number of partitions mounted, then you’re probably the latest victim of the blocksize problem.
Note: if your FAT (or, for that matter, BFS) file system access is typically slow anyway, then you may not have DMA enabled. Search for tips about Forcing DMA, or install the IDE replacement drivers. To see whether or not DMA is enabled, try copying a file from one place to another on a BFS partition; if Pulse displays a high usage, and the transfer is slow (less than 4 megs/second) then DMA is probably not enabled.

The problem is characterised by only existing on a BeOS installation you’ve performed to a new partition (or virtual partition image) yourself, and can not only take the form of intermittent slowdown when performing I/O, but can also take the form of very slow mounting FAT32 partitions (10 seconds+ is not uncommon).

Often, the problem goes away if the file is being copied from or to a BFS partition; it seems to occur mainly with FAT->FAT copies or FAT read/writes.

This problem appears to be linked to the BFS (yes, BFS; nothing to do with your FAT partitions!) blocksize you pick when creating your partition. Selecting a 1024 blocksize partition seems to encourage this problem, whereas selecting a bigger size appears to eliminate it. Note: this is the case when dealing with partitions of around 1.5GB in size. Your mileage may vary with different partition sizes.

If you’re having this problem, then simply create a new BFS partition, except this time make the blocksize 2048 or 4096 (I recommend 2048 personally), and your problems should be gone! Strange, since the problem appears exclusively on FAT drives, not BFS!

If you’re planning to erase your existing BeOS partition first, rather than creating a new one in addition to the old, please remember to back everything up properly — don’t forget your Netpositive bookmarks, e-mail, and IRC logs! Don’t just copy these files to your FAT partitions — most BeOS files like these need the BFS attributes. Instead, zip them up first.

Finally, if you’re still experiencing slow FAT32 partition mounting after this, then install the “faster mounting FAT filesystem add- on”; search for the other tip which mentions this add-on’s other beneficial effect — stopping the annoying “~1” at the end of the DOS filenames.

Note: This tip refers to BeOS Personal Edition R5 with the 5.0.3 update. It has not been determined whether the problem exists on other versions at this stage, although preliminary evidence suggests that Dano may not suffer from this problem.

Posted in Warnings

(comments are closed).