SFScheck -------- This tool checks an SFS disk's structure and looks for anything which is out of the ordinary. It makes no modifications, it only reads the disk. Any errors it finds will be printed. You can use this tool to give me more information when reporting bugs, but also to convince yourself that the SFS disk is still in working order. If SFScheck reports any errors, then be very careful with the disk! The best thing to do would be to copy all important files and reformat. Try to remember what you did the last time you ran SFScheck -- you might be able to discover what caused the error. Continuing to use an SFS disk with errors will eventually result in fatal errors which means you lose all data on that disk. Don't run SFScheck when you're writing something to the disk. SFScheck will get confused (because the structure changes right under its feet) and reports errors which aren't really there. This isn't dangerous as SFScheck only reads the disk (it can't repair a disk), but you should be aware of this when using SFScheck. Rerunning it should give correct results -> LOCK the partition for checking! !!! --- It is wise to add cache lines (100-400) for (and only) the SFScheck. SFScheck cache lines are NOT cache lines 'from' Setcache. SFScache add und subt. system memory for his cache lines automatically! Like SFSdefrag for buffers. See examples. How do I use it? ---------------- I've put SFScheck in my user-startup, and I let it print all the output to a Shell, so I can see that the disks are still okay each time I reboot. SFScheck will generate errorcode 20 (FAIL) when anything is found wrong, so you can redirect the output to a logfile as well. For example try this: failat 20 date >>sys:logfile sfscheck dh3: LOCK >>sys:logfile or this example for the Workbench_super_batch ;-) : FAILAT 21 SFScheck dh1: 200 LOCK >S:logdats/SFScheck_dh1.log IF WARN REQUESTCHOICE "!! WARNING !!" "SFSCheck ALARM for DH0!!" "I see!" PUBSCREEN Workbench ELSE C:SFSdefrag dh1: 2000 ENDIF Usage ----- Use SFScheck from a CLI. It's commandline syntax is: DEVICE=DRIVE/A,LOCK/S,LINES/N,READAHEADSIZE/N DEVICE=DRIVE/A: This is a required parameter. It is the disk you want to check with SFScheck. LOCK: If you specify this parameter, then SFScheck will lock the disk for the duration of the scan. This makes sure that no programs modify the disk during the check, which avoids the 'fake' errors SFScheck can generate if the disk was modified during the check. LINES: The nubmer of lines SFScheck uses for *its* cache during the check. Setting this high enough can reduce the SFScheck scanning time *drastically*. Try LINES=200 on the command-line to see the speed improvement -- use higher values if needed. READAHEADSIZE: Another parameter to control the cache SFScheck uses. It works similair to the parameter in SetCache, but is not so dramatically for the SFScheck performance as LINES. So you can use SFScheck like this: SFScheck dh0: 200 lock SFScheck dh0: lines 200 readahead 16384 lock If you want to redirect its output to a temporary file try this: SFScheck dh0: lock >RAM:output.txt or this if you want the output appended each time: SFScheck dh0: lock >>RAM:output.txt Don't use your SFS disk while SFScheck is checking it, unless you specify the LOCK parameter. SFScheck will be confused (by default it doesn't lock the disk during the checking period). Please make sure you've saved all your work before using SFScheck. SFScheck won't make any modifications to your disks -- it only reads data from them and reports any problems. Requirements ------------ SFScheck can only be used on SFS disks. Using it on a FFS disk or other type of disk is harmless and SFScheck will simply report that the disk isn't in the correct format. SFScheck requires quite a lot of memory to operate (but it helps to make the check quite fast). It takes 10-20 seconds to check a disk with 20.000 files on it on my system. About 2 MB of free memory is required.