Short: Tries to defrag PFS partitions (37.4), with source Uploader: Martin-Steigerwald@gmx.net (Martin Steigerwald) Author: Martin-Steigerwald@gmx.net (Martin Steigerwald) Type: disk/optim Replaces: disk/optim/PFS2DefragTry.lha Replaces: disk/optim/afsdefragtry.lha $VER: PFSDefragTry.readme 37.4 (17.9.1999) (W) by Martin Steigerwald ABOUT *Tries* to defragment PFS partitions by recopying all fragmented files. Will run diskvalid in analyse mode to get a list of the fragmented files. DISCLAIMER I REJECT ANY RESPONSIBILITIES IF YOU LOOSE YOUR DATA. * NO WARRANTIES * NO WARRANTIES * NO WARRANTIES * NO WARRANTIES * So, I hope this is clear now. ;-) Sorry, but I had to do this. DISTRIBUTION PFSDefragTry was Freeware, is Freeware and will always be Freeware. Now including source. When you want to continue development see below under "FURTHER DEVELOPMENT?". FURTHER DEVELOPMENT? I have no time to fiddle around with this now. Thus I included the source code to allow further developments. You can freely continue development *non-commercially*. This means this and further developments can only ever be released non-commercially as freeware. You can continue developing without noticing me. But then please rename it when you release it and keep my name mentioned. I prefer when you contact me when you want to continue development. Then I could hand it over to you for further development officially. This means you also take over support for it. ;-) (Its not a lot support queries, really.) Continuing development is easy: AmigaE 3.3 is freeware now. Just download and use it. But you may well transfer the source to C if you like. TODO Some ideas I got from users (well there are actually some;-): - preserve protection bits and filenotes. Yes, my copy routine didn't care about this at all. Easy solution: Just make C:Copy resident and use C:Copy CLONE Other solution: Implement the needed stuff in the copy routine of PFSDefragTry (Stefan Schulz, Arnljot Arntsen) Ideas of my own: - some GUI with progress display and stuff REQUIREMENTS AmigaOS2.0+ PFS2/3. It also works on AFS, but I really recommended to update to PFS2/3! USAGE Usage is simple. PFSDefragTry DEVICE/A,TEMPDIR,BUFLEN/N As you can see only one argument is needed. And this is the device you want to defragment! With TEMPDIR you can specify where PFSDefragTry should copy the files file by file in order to let PFS defragment them. If you do not specify it files will be copied into DEVICE/A:. I recommend pointing TEMPDIR to an other partition than the one being defragmented. TEMPDIR must have enough space to hold the biggest file to defragment. To find it out exactly try diskvalid DEVICE/A ANALYSE, look which files have been fragmented, and look which one is the largest of them. It is always save to just leave as much space in tempdir that the largest file of the complete partition will fit into there. Files will be copied one by one. So one file will be copied. Then deleted. Then either renamed to its original name if your tempdir is on the same device that should be defragmented or copied back to its original place. If there is not enough space, you get get AmigaDOS requesters. No extra space checking is done! Anyway files that are to big will simply not defragmented. Nothing else will happen. But you have to click that requesters away. The more free space you have on the partition to defragment the better the chance to get a successful defragmentation. PFSDefragTry ONLY tries do use PFS to defragment files. It does not defragment the free space on a device. Note: Currently all files that PFSDefragTry copies to defragment them will be set to the actual date! This is due to my own copying routine which simply uses AmigaDOS Read() and Write(). C:Copy doesn't like filenames with wildcards in it so I could not use it. Maybe future versions will take care of the date stamps of the files. I don't need this, so it may only be implemented when someone ask me to do it. The last parameter specifies the buffer size in bytes the copy routine will use! Default value is 65536. I recommend to set this to 1048576 - 1 MB - or even more in order to avoid unnecessary hard disk head movements at least when TEMPDIR is on the same hard disc than the partition that is defragmented. Some words about efficiency: It works fairly good, but it does not always be successful. Running it several times will most likely give better results than running it once. When you have question or suggestion don't hesitate to email me. HISTORY 17.9.1999 PFSDefragTry 37.4 - changed name to PFSDefragTry, since PFS3 is out, and it also works on AFS - changed legal status to public domain - added FURTHER DEVELOPMENT? - added TODO - little other changes in this readme - updated my email address! 16.10.98 PFS2Defragtry 37.3 changed name from afsdefragtry to PFS2DefragTry for obvious reasons updated documentation a bit and removed some bla bla from it changed format of history removed BETA status from it 30.6.98 afsdefragtry 37.2 BETA increased buffersize for filenames to 1024 tempfile will now always be called "---afsdefragtry.tmp---" in order to avoid that one file is accidentally over- written (i.e. if disk.info is defragmented with tempdir: dh0: dh0:disk.info would have been overwritten before) 23.6.96 afsdefragtry 37.1 BETA added linefeed to text "remove delete protection failed!" 21.6.96 afsdefragtry 37.0 BETA first public *BETA* release THANKS GO TO Simon Dick for the idea. Mark Harden for his work on the AFS FAQ and the support Fourth Level Developments should have actually done. Michiel Pelt for PFS2! Wouter van Oortmerssen for Amiga E AUTHOR Martin Steigerwald Email: Martin-Steigerwald@gmx.net Web: http://helios.home.pages.de