Professional File System v3

Reviewed by: Craig 'Hercules' Daines (Technical Editor).

Price: 36

Supplier: Ramjam Consultants:

Website: http://www.ramjam.u-net.com

Telephone +44 (0)118 946 5940

Cost: 36

Requirements:

Any Amiga (equipped with Kickstart 2.0 or higher).

An IDE/SCSI controller (the internal A1200 IDE connector will do nicely).

Hard Drive (you won't get very far without one !).

CD-ROM Drive (PFS is supplied on CD-ROM)

What is Professional File System ?

It is a direct replacement for Commodore's so called 'Fast-File-System'. It offers many advantages over FFS (Fast-File-System) too. However, before I begin looking into what PFS 3 has to offer, let's first start by looking at the potential problems regarding Commodore's buggy Fast-File System, then I'll discuss NSD (as incorporated in OS 3.5) and then finally PFS 3 (the review).

Commodore's Fast-File System:

If you have a hard drive hooked up to your Amiga (who doesn't these days ?). You will be using 'Fast-File-System'. Don't ask me why Commodore called it 'Fast-File-System', because it's slow as a dog. Some other things to note are up until OS 3.5, previous versions of AmigaOS could only reliably handle drives smaller than 4GB. This is because locations on a drive were addressed using 32-bit arithmetic, and the largest number storable in 32 bits is a binary four billion. Commodore back in the old days could not be bothered updating the Fast-System that much or v40 scsi.device (the firmware contained in the Amiga's Kickstart) responsible for allowing the IDE interface on the motherboard to communicate with larger drives. Once again (as always !), it was left to Amiga developers to code their own patches and file systems to overcome the 4 gigabyte barrier :-(

There are also other problems with Fast-File System: validation. Should a badly written program 'crash' the Amiga, or you accidentally reset, or there's a power cut, the next time your machine reboots, 'Fast-File-System' needs to reconstruct the bitmap for the particular partition. In some cases the validation process fails, and you end up with "Volume Workbench has a checksum error on 16321". In such instances, out comes your copy of Quarterback/Disksalv to repair the invalidated bitmap, and in most cases, you end up with at least one lost file. The fact is for larger drives, Fast-File-System is just two unreliable. A 4.3 gigabyte drive can sometimes take up to several minutes to validate...

There are still some points to be aware of when using large hard drives. The maximum partition size when using NSD is still 4 gigabytes. Also, you must be careful what software you use on partitions located after the 4 gig barrier. If you are using the OS 3.1 version of the 'Format' command, partitions located 'after' the 4 gigabyte barrier must be quick formatted only. Repair tools such as Quarterback Tools, DiskSalv and Reorg WILL NOT work on partitions after this limit.

NSD & OS 3.5:

The officially sanctioned method of handling large drives is via NSD (an abbreviation for 'New Style Devices'. NSD began life as a separate program and was coded by Heinz Wrobel (who is well known for his various patches for OS 3.5). Later, Haage & Partner choose to Heinz's NSD support use in OS 3.5 for supporting large drives. This is a new specification for all device drivers in AmigaOS, not just disk devices, and adds commands for doing 64 bit operations. Old style device drivers can be 'patched' to look like 'New Style Devices'. With the release of OS 3.5, NSDPatch is built into the Setpatch tool and initialized at boot time. Also the Fast-File-System included in OS 3.5 has had a much needed overhaul to handle 64-bit arithmetic, as well as the Format and Info commands and HDToolBox.

The NSD support provided via OS 3.5's setpatch command works as follows:-

1) The Setpatch command is executed at boot time

2) 68040.library or 68060 library are executed (if required)

3) Setpatch applies numerous ROM fixes to fix minor bugs in the operating system.

4) The Amiga OS Update (file located in DEVS: drawer is executed)

5) The NSDPatch.cfg file is read in the DEVS: drawer, patches the appropriate IDE/SCSI controller you are using and resets. Then your computer boots up. This is A PATCH and stays resident in memory all of the time. Providing OS 3.5 installed ALL the aforementioned files are in their appropriate places (as I've detailed), and your computer reboots, you can then use the new Fast-File-System that OS 3.5 provides by coping the new Fast-Filesystem into the RDB (Rigid Disk Block) of your hard drive and changing any individual partitions to the new File-System.

6) The NSD support in OS 3.5 although will let you use drives over the 4 gig barrier, but you will STILL be plagued by stupid validation errors, as with previous versions of 'Fast-File-System' which really sucks !

Then there's more problems with the NSD support included with OS 3.5 (read on:)

SOME THIRD PARTY BUFFERED INTERFACES PARTICULARLY OLDER IDE SPLITTERS DON'T WORK WITH OS 3.5's NSD support (e.g. some A3000 4 way buffered interfaces and some other older ones that were produced for A1200's: mine included). If Your Amiga won't reboot with NSD enabled in OS 3.5. the only way to get your Amiga to boot up is to disable NSD by either renaming/deleting the 'Amiga OS Update' file located in your DEVS: drawer, or alternatively, by changing your Setpatch line to: 'Setpatch QUIET SKIPROMUPDATES "scsi.device"'. If you need to disable NSD in this way, then you cannot use the NSD support in OS 3.5 for using HD's over the 8 gigabyte, barrier :-(

Professional File System (the review - at last !):

Professional File System began life as a Shareware product under the name 'AFS' (an abbreviation for 'Amiga File System'), and was distributed by Fourth Level developments who, incidently, went out of business, until a couple of years later when 'Greed Developments' came along and updated and relaunched AFS as a commercial product and renamed it 'Professional File System'.

Professional File System (or PFS) uses an alternative solution to NSD, known as TD64 (an abbreviation for Track Disk 64). This is a specification for device driver developers and again (just like NSD as I've described above) adds new commands to handle assigned 64 bit operations to break the 4 gigabyte barrier. Most modern controllers will have drivers that are compatible with TD64 (Powerflyer a prime example). If your controller doesn't support TD64, you must use the 'DirectSCSI' version of PFS. Hugo Hoekstra one of the PFS development team pointed out in an e-mail to me that if indeed you are using the A1200's internal IDE connector (e.g.: the IDE connector on your A1200 motherboard), then you should use the 'DirectSISI version of PFS.

Various guises of PFS 3 are included with the package: there are the TD64 versions of PFS for modern controllers (each for your particular processor), a 'DirectSCSI' version for controllers which do not support TD64 and a 'Multi-User' version of PFS. The later is for use with Geert Uytterhoeven's Multi-User File system, which gives certain users privileged access rights to particular files (handy if more than one person uses your computer) for security, and is indeed similar to the variant which is included with UNIX.

Installation:

To begin with, if you would rather use PFS 3 than the NSD support that OS 3.5 provides, then you MUST disable NSD in OS 3.5 (as I've described above).

I would recommend you backup your RDB using either HDInstallTools or OS 3.5 HDToolBox program prior to installing. Just in case you make a mess of things.

Well, this is a bodge for a start: Tim at Ramjam informs me there are no stocks of PFS 3 left on CD-ROM. Instead you get PFS 2 on CD-ROM and a PFS 3 update disk (so you can update to PFS 3), and a PFS 3 extra disk (which contains additional files that Greed Developments missed off of the PFS 3 update disk by accident). To install PFS, the PFS 2 CD-ROM needs to be in your CD-ROM drive, and you then run the installer on the PFS 3 update floppy disk. This installs PFS 2 to your hard disk, and updates PFS 2 to PFS 3.

Once all of that malarky is out of the way, you need to copy some files from the PFS 3 extra disk to your hard drive. This needs to be done manually. With the PFS 3 extra disk in your floppy drive, open an AmigaDOS shell and type.

copy df0:Classes/Gadgets ALL TO SYS:Classes/Gadgets/ [RETURN]

copy df0:Tools/PFS3 ALL to SYS:Tools/pfs3/ [RETURN]

Once everythings installed, it's time to fire up either HDToolBox or HDInstallTools. I used OS 3.5's new version of HDToolBox. The appropriate version of PFS needs to be copied into the RDB (Rigid Disk Block) of your drive) and then the individual partitions need changing over to PFS 3. It's possible to 'jiggle' data on your partitions between FFS and PFS partitions so there's no need to back up your drive if your careful. However, I WOULD recommend backing up your drive prior to changing your partitions over to PFS just in case...

If your using the A1200's motherboard IDE connector, you should use the 'DirectSCSI' version of PFS. If however, your using a more modern IDE/SCSI Zorro 2/3 controller try the TD64 version first. If that doesn't work, try the 'DirectSCSI' version of PFS.

Once the appropriate version of PFS is installed into your hard disks RDB and you change each individual partition(s) over to use PFS, clicking the 'Save Changes to drive' in HDToolBox/HDInstall Tools will rewrite the RDB to your drive. You can then format the partitions: you can use either the standard Workbench 'Format' program or the 'pfsformat' program to format all your partitions should you wish, but bear in mind, partitions located AFTER the 4 gigabyte barrier MUST be formatted with 'PFSFormat'. PFSFormat is a shell only program, and has a similar command template to the standard Format program included with Workbench:-

pfsformat DEVICE=DH0: NAME WORKBENCH VERIFY NOICONS [RETURN]

This above example would format your hard drive partition with the device name DH0: and give it the volume name 'Workbench'. The VERIFY command checks each cylinder after it is formatted, and the NOICONS command on the end is if you don't want a trashcan created on the partition after formatting.

What's Included:

A number of DOSDrivers are installed to your Storage/DosDrivers drawer upon installation, which are labelled PF0, PF1, PF2, PF3. Once mounted, you can format floppy disks to PFS format. PF0: and PF1: are for internal drive DF0: and external drive DF1: and PF2: and PF3: are for external floppy drives DF2: and DF3:

Removable Media Disks:

If you want to format Removable media disks (such as Syquests, Zips or Jaz disks) to PFS then Aminet is the best place to visit, which contains a healthy selection of additional PFS DosDrivers you can use...

PFS' .Deldir Feature:

Deleted files can be easily recovered. Hidden on the route of each PFS partition is a hidden directory called .deldir. If you wanted to list all deleted files on DH1:, you would type:-

List DH1:.deldir [RETURN]

This brings up a list of deleted files on that particular partition. If there was a file called 'Craig.txt@001', you could recover it by typing:-

1) copy DH1:.deldir/craig.txt@001 [RETURN]

2) protect rwed DH1:craig.txt [RETURN]

3)> Then copy the file to the original location. Job done !

The size of the .deldir (the number of deleted files) that are stored in the .deldir can also be set too (see 'Filename Sizes').

Filename Sizes:

It's possible to set the length of filenames using the 'SetFnSize' program. You can have filenames of up to 107 characters long maximum ! Bear in mind that if you change this, the only way you can decrease to a lower filename size or to the default value of 31 characters is by reformmating any of your partition(s). So bear this in mind when setting the filename size...

Other programs which are included: (Are you still awake?). I really can't be bothered explaining them all in detail, this review is getting a bit too long now :-D But to summarise: there's MakeRollOver for setting the RollOver size, Makelink (which is a replacement for the standard Workbench 'Makelink command'), RemoveDirEntry (for forcing files to be deleted in the .deldir), PFSLS which is similar to the UNIX standard 'dir' and 'list' commands. Then theirs PFSDoctor and DiskValid for repairing damaged PFS 3 partitions.

PFS Doctor Is Broken:

However, the PFSDoctor program appears to be broken: quitting 'PFSDoctor' by clicking the 'Quit' button and not the close gadget results in a Recoverable Error, Task 0101A708. At first, I thought this may be caused by a conflict with some of my other background commodities I may be running. To test this hypothesis, I booted with no startup-sequence, just enabled setpatch on it's own and then typed 'PFSDoctor' and pressed [RETURN]. Lo and behold the same problem: Recoverable Error, Task 0101A708: Undoubtedly a bug with the PFSDoctor program. If you have this same error appearing, then contact Greed Developments and demand a fixed version of 'PFSDoctor'.

There are also other problems with PFSDoctor: it sometimes has a habit of reporting false errors on freshly formatted PFS partitions. For instance my DH3: partition checks out fine with DiskValid (in analyse mode), but when checked with PFSDoctor, errors are reported. Hugo Hoekstra tells me 'PFSDoctor sometimes reports false errors on freshly formatted partitions (it's a bug). If your partitions check out fine with diskvalid (in analyse mode) then they and they are indeed fine, so don't worry'.

Fragmentation: PFS vs. Fast-File-System:

Fragmentation is a fragmented file which is split over non-sequential blocks on a disk. This slows down disk access, because the drive may have to perform a 'slow seek' operation to a non-local block in the middle of reading a file. Commodore's so called 'Fast-File-System' is very prone to this. PFS does try a lot harder than 'Fast-File-System' to keep files unfragmented when writing. In fact, providing the disk is not too full, a PFS volume can be unfragmented simply by copying over the fragmented file. PFS 3 does support 'live' optimization of fragmented volumes whilst allowing normal disk access but it should be noted that although Greed Developments have promised a 'live' optimizer for 'defragging on the fly' whilst allowing normal access to volumes, such a program has not yet been released. A 'live' optimizer such as this would be a valuable addition to the package :-(

How PFS 3 Works:

PFS 3 uses a method of saving files known as 'atomic commit'. This works by when a file is saved, the file is not COMPLETELY written to the drive until the write operation is complete. Hence, PFS formatted volumes move from valid state to valid state. You can try turning off your computer during a write, but it's virtually impossible to corrupt a PFS partition deliberately or otherwise. Speed-wize, PFS offers a 500% increase-fold in performance compared to Commodore's original Fast-File-System. This benchmark primary depends though on how many buffers are allocated per partition via your prepping software, the speed of the Amiga's CPU and/or IDE/SCSI controller, and whatever Maxtransfer rate is used on each partition.

What you will notice is icon's come up quicker on screen, as does reading local HTML pages from disk. All disk operations including copy, deleting, moving and reading etc, are dramatically enhanced and much faster. Normally when burning CDR/CDRW disks I always use a spare partition for storing ISO images. When I was using Fast-File-System, it would take about 2-3 minutes to delete a 650 megabyte ISO image. With PFS 3 it's 2 seconds !

Another nice feature is that PFS also incorporates 'artificial intelligence'. In the rare occurrence should a severe problem be detected on a particular partition (which incidently is VERY rare), it will immediately 'lock' the partition to prevent you from writing to it and causing further damage. This lock feature can of course be disabled by typing: Lock (NAME OF PARTITION) OFF [RETURN]. However, in such instances it is best to run the DiskValid / PFSDoctor program in analyse mode first, to find out what the particular problem is, and then unlock the partition and run PFSDoctor again (in repair mode) to fix any problems.

Things to be aware of:

There are some things to bare in mind when using PFS 3. The first of which is incompatibility. Tools that expect to access Fast-File-System partitions at low level such as Quarterback, Reorg and Disksalv are only designed for repairing partitions formatted with Commodore's Fast-File-System and these programs will not work with partitions formatted with PFS. Hence you are stuck with only two programs at your disposal for repairing corrupt PFS partitions: DiskValid & PFSDoctor that are included with PFS 3. This is not a problem though: PFS 3 is virtually bomb proof as far as file systems are concerned. All other software such as ABackUp will work as before.

Things that ARE NOT mentioned in PFS 3's documentation:

Heinz Wrobel (responsible for coding the NSD supprt for OS 3.5), states on the OS 3.5 mailing list (maintained by Alex) the following (see below):-

"And don't forget: if you are using an A600/A1200/A4000 and you are using the internal IDE connector, you're still stuck with the internal 8 gigabyte limit of the v40 IDE_scsi.device. You can use a hard disk with no more than 8 gigabytes if you apply NSD patch to the internal ROM IDE_scsi.device v40 - 8 gigabytes nothing more."

"Filesystems like PFS and SFS which have a direct scsi" version MUST use the IDE_scsi.device v40 as well, so the 8 gigabyte limit applies here as well (the docs of PFS are a bit vague on this topic)."

"You can NOT patch the internal 8 gigabyte limit of the old IDE_scsi.device v40 with NSDPatch, nor can you avoid it with a third party filesystem's "direct scsi.version."

After I read Heinz Wrobel's statement on the OS 3.5 mailing list (above), I decided to check the above statement with Hugo (one of the PFS developers). Hugo informs me otherwise (see below):-

"Heinz Wrobel's statements are beside the point. Yes you CAN use more than 8 GB on the internal IDE controller (using the DirectSCSI version of PFS) and no you can not use the full 20.4 GB on your drive. The Amiga internal IDE controller is outdated and can't recognize the full capacity of modern drives. Check how much space HDInstTools or HDtoolbox recognizes: this is the maximum you can get on your 20.4 gigabyte drive. You can probably use around 13 GB."

To Summarise:

1) If you want to use a hard drive LARGER than 13 gigabytes on the A1200's motherboard IDE connector (on the motherboard), you MUST use the NSD support that OS 3.5 offers (and not PFS).

2) As Hugo mentions, you CANNOT use a drive larger than 13 gigabytes on the A1200's motherboard IDE controller with PFS. This is not a fault limitation of PFS, but a limitation caused by V40 IDE_SCSI.device (the firmware contained in the Amiga's kickstart) and the aging IDE port on your A1200's motherboard. If you have a big box Amiga with a Zorro 2/3 IDE controller card which your hard drives are connected up to, only then, can use hard disks over 13 gigabytes with PFS.

Adding Bonus (Kang Fu!):

You also get a game called 'Kang Fu' which is included on the PFS CD-ROM, and is produced by the same team of developers who programmed PFS. It's quite a good platform game, in which you are oddly a Kangaroo (wearing sunglasses!?). You'll need a CD32 joypad to play it. I didn't manage to get very far: the games to bloody difficult !

Pro's and Con's:

Ease of Installation:

Might be fiddly for some Amiga's users, due to the cack handed manual installation method of the PFS 3 extra floppy disk (which must be installed manually: there's no installer for this) 8-(

The Amigaguide documentation is well laid out, and explains everything in good detail.

PFSDoctor program is broken: exiting the program by clicking the 'Quit' button (not the close gadget results in a recoverable error). If you get this same problem, e-mail Greed Developments and demand a new version of the PFSDoctor program. Also, the PFSDoctor program sometimes reports spurious errors on freshly formatted partitions (as Hugo explains to me it's a bug they still haven't managed to fix).

No live optimiser has been included even though Greed have promised to make one :-(

Safer and 500% faster than using Commodore's buggy FFS. PFS 3's performance also can be vary depending on how many buffers are allocated per partition, the speed of your Amiga's CPU and IDE/SCSI controller and Maxtransfer rate. No more invalidated disks: disks are always valid, deleted files can be easily recovered using the .deldir feature. Lots of other tools are included.

You get's Greed's free 'Kang Fu' game on the CD as well !

Overall: A superb product, but a bodge to install. May be difficult to install for novice Amiga users. Despite a couple of minor niggles, PFS get's the thumbs up anyway, since it's faster and safer than using Commodore's Fast-File-System...

Reviewed By:
Craig 'Hercules' Daines
Technical Editor for THE CRYPT
Craig_Daines@excite.co.uk