Short: Tries to defrag PFS partitions (1.5), with source Author: Martin Steigerwald and Stefano Pucino Uploader: Martin-Steigerwald gmx net (Martin Steigerwald) Type: disk/optim Architecture: m68k-amigaos $VER: PFSDefragTry.readme 1.5 (29.9.1999) $Id: PFSDefragTry.readme 1.5 1999/10/08 18:20:06 helios Exp $ Note this is a later version than the previous 37.5 version! 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. NOTE: THIS IS A BETA VERSION. THE NEW FILENOTE, DATE AND ATTRIBUTE SUPPORT HAS NOT BEEN TESTED THOROUGHLY. USE AT YOUR OWN RISK! 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 Hel = Martin 'Helios' Steigerwald Max = Stefano 'Max Headroom' Pucino When nothing is stated assume Hel ;-) revision 1.5 date: 1999/10/08 18:15:35; author: helios; state: Exp; lines: +37 -25 - now I have it... hmmm... Stefan stored the pointers to the comment, the filedate and the protection bits to variables and freed the DosObject afterwards and then used them to restore the file data... this can't work or only works in the case when the freed structure has not been overwritten again AH this, sucked ;-) hopefully it really copies filenotes now... now keeps fib open till not used anymore - added some more comments to the source revision 1.4 date: 1999/10/08 17:35:31; author: helios; state: Exp; lines: +76 -43 - cosmetical changes, revised error messages - tried to find not setting filenote problem... this is strange. I could reproduce it when there was other activity on disc but after some changes it seemed to be gone - cause of that I added all error checking it can get when comment can not be set it should really complain now revision 1.3 date: 1999/09/29 12:23:22; author: helios; state: Exp; lines: +2 -2 - changed some texts revision 1.2 date: 1999/09/29 12:15:27; author: helios; state: Exp; lines: +29 -6 - now under control of HWGRCS (Hel) - implemented CTRL-C check while copying (Max) - implemented support for filecomment, date and attributes (Max) - This tool is completely Y2K-free ;-)) (Max) PFSDefragTry 37.4 (17.9.1999) - 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! THANKS GO TO Stefan Pucino for the 37.5 update with filenote, attributes and date support that I put into 1.2 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