Short: Programik sprawdzjâcy strukturë dysku obsîugiwanego przez SFS Uploader: Marcin "Morgoth" Kurek Author: Marcin "Morgoth" Kurek Type: disk/misc Replaces: SFSCheck.lha Requires: Kickstart 3.0 Version: 2.4 --------------- Wstëp --------------- W caîoôci przepisany SFSCheck 1.x, którego moûna znaleúê w wiëkszoôci dystrybucji SFS. Nowa wersja posiada wszystkie funkcje starego programu, a ponadto ma nowe moûliwoôci i usuniëte bîëdy. Chociaû nie jest to ostateczna wersja, jej funkcjonalnoôê jest o wiele wieksza niû oryginalnego SFSCheck. Wciâû sâ opracowywane kolejne poprawki do wersji finalnej. --------------- Legal -------------- Autor nie ponosi ûadnej odpowiedzialnoôci za jakiekolwiek uszkodzenia powstaîe w wyniku pracy programu. !NIE MA ÛADNYCH GWARANCJI! SFSCheck jako program freeware moûe byê rozpowszechniany bez zgody autora. ---------- Nowe moûliwoôci ---------- - sprawdza i wyôwietla stopieï fragmentacji plików w urzâdzeniu - sporzâdzanie listy pofragmentowanych plików (opcja) - sporzâdzanie listy obiektów ze specjalnymi atrybutami SFS - nazwy urzâdzeï podawane w formie parametrów - korzysta z locale.library (peîna lokalizacja) - wyôwietla najwaûniejsze informacje o urzâdzeniu - oszczëdne zuûycie pamiëci - moûliwoôê przerwania dziaîania programu poprzez klawisze CTRL+C - wbudowany defragmentator dysków - moûliwoôê wykasowania zawartoôci katalogu .recycled przed przystâpieniem do defragmentacji - inteligentne wykrywanie katalogu .recycled (np. po zmianie jego nazwy) - przygotowany do wspóîpracy z MorphOS i AmigaOS 4.0 (kod programu w C/C++) ------------- Jak uûywaê ------------ Wzór: DEVICE/A, LOCK/S,FRAGLIST/S,SEEK/S,FORCE/S,QUICK/S,DEFRAGMENT/S, P=PURGE/S,FP=FULLPATH/S, NCHK=NOCHECK/S,NORB=NOROOTBLOCKS/S,NOASC=NOADMINSPACECONTAINERS/S,NONC=NONODECONTAINERS/S,NOOC=NOOBJECTCONTAINERS/S,NOBMP=NOBITMAP/S,NOFRG=NOFRAGMENTATION/S, FRL=FRAGMENTATIONLIMIT/N/K,ADDB=ADDBUFFERS/N/K,L=LINES/N/K,RAHS=READAHEADSIZE/N/K Argumenty które musisz podaê: DEVICE/A: nazwa urzâdzenia/dysku do sprawdzenia Argumenty opcjonalne: LOCK/S: Jeôli podasz ten parametr, SFSCheck zablokuje dostëp do urzâdzenia na czas wykonywania na nim operacji, poprzez uûycie ACTION_INHIBIT. FRAGLIST/S: Podanie tego parametru spowoduje wyôwietlenie przez SFSCheck szczegóîowej listy pofragmentowanych plików na danym urzâdzeniu w podany iûej sposób: ... Sfragmentowany plik: Nazwa [Numer Object Node], iloôê fragmentów ... SEEK/S: Podanie tego parametru spowoduje wyôwietlenie przez SFSCheck szczegóîowej listy obiektów ze specjalnymi atrybutami SFS na danym urzâdzeniu w podany niûej sposób: ... Typ obiektu: Nazwa Obiektu [Numer Object Node] Atrybuty: [Lista Atrybutów] ... FORCE/S: Podanie tego parametru zmusi SFSCheck do sprawdzenia urzâdzenia o zbyt starej wersji SFS, lub urzâdzenia, które nie ma zainstalowanego SFS'a. Parametr ten nie ma wpîywu na opcjë DEFRAGMENT, gdyû wymaga ona SFS w wersji co najmniej 1.83+ QUICK/S: Ten paramter spowoduje, ûe SFSCheck sprawdzi tylko obszary ObjectContainers i obliczy stopieï fragmentacji. Moûna uûyê tego parametru z opcjami SEEK/S, FRAGLIST/S FORCE/S i FP=FULLPATH/S. DEFRAGMENT/S: Poprzez podanie tego parametru, SFSCheck dokona defragmentacji urzâdzenia po uprzednim jego sprawdzeniu. Póki co jest to przerobiony program SFSDefrag ale to wkrótce ulegnie zmianie... Ta opcja takûe wymaga zainstalowanego SFS w wersji co najmniej 1.83 i nie zadziaîa z jakâkolwiek wersjâ niûszâ. P=PURGE/S: Jeôli podasz ten parametr, SFSCheck odbezpieczy i, jeôli to konieczne, skasuje wszystkie pliki w katalogu .recycled przed przystâpieniem do defragmentacji. Nieobecnoôê katalogu .recycled nie spowoduje ûadnych bîëdów podczas przeprowadzania operacji. Moûesz zmieniê nazwë tego katalogu, wtedy PURGE/S nadal bëdzie dziaîaê bez jakichkolwiek problemów. Wymaga paramertu DEFRAGMENT do dziaîania. FP=FULLPATH/S: Podanie tego parametru wraz z SEEK, FRAGLIST i PURGE, wyôwietli peînâ ôcieûkë dostëpu do obiektu na liôcie. NCHK=NOCHECK/S: SFSCheck zaniecha sprawdzenia urzâdzenia (pominiëte zostanâ testy RootBlocks, AdminSpaceContainers, NodeContainers, ObjectContainers, Bitmap, Fragmentation) Opcja uûyteczna jeôli chcesz przeprowadziê tylko defragmentacjë. NORB=NOROOTBLOCKS/S: pominiëcie sprawdzenia RootBlock NOASC=NOADMINSPACECONTAINERS/S: pominiëcie sprawdzenia AdminSpaceContainers NONC=NONODECONTAINERS/S: pominiëcie sprawdzenia NodeContainers NOOC=NOOBJECTCONTAINERS/S: pominiëcie sprawdzenia ObjectContainers, oraz obliczenia poziomu fragmentacji urzâdzenia NOBMP=NOBITMAP/S: pominiëcie sprawdzenia Bitmap NOFRG=NOFRAGMENTATION/S: pominiëcie obliczenia poziomu fragmentacji urzâdzenia FRL=FRAGMENTATIONLIMIT/N/K: Ten parametr spowoduje, ûe SFSCheck zaniecha defragmentacji urzâdzenia jeôli jest ona mniejsza od podanej wartoôci. przykîad: jeôli fragmentacja wynosi 27%, a podana wartoôê graniczna jest ustawiona na 50%, to SFSCheck nie przeprowadzi procesu defragmentacji. Jeûeli natomiast stopieï fragmentacji urzâdzenia wynosi np. 73%, SFSCheck je zdefragmentuje. ADDB=ADDBUFFERS/N/K: Poprzez ten parametr zwiëkszamy iloôê buforów urzâdzenia. Zaleca sië uûywanie raczej wiëkszych wartoôci, aby przyspieszyê proces defragmentacji. Po zakoïczeniu procesu przyznane bufory sâ uwalniane. L=LINES/N/K: Iloôê linii cache'u, jakâ SFScheck uûyje podczas testów. Wartoôê domyôlna to 128. RAHS=READAHEADSIZE/N/K: Rozmiar kaûdej linii cache'u; wpisana wartoôê jest traktowana jako iloôê kilobajtów do uûycia. Domyôlnie ustawiona na 8 kb przykîad: L=512 RAHS=32 spowoduje uûycie przez SFScheck 512 linii, po 32 kb kaûda, co wymaga 16 MB wolnej pamiëci (512 * (32 * 1024)) --------------- Przypisy - SFSCheck --------------- Narzëdzie to sprawdza strukturë dysku SFS w poszukiwaniu wszelkich nieprawidîowoôci. Nie modyfikuje w ûaden sposób zawartoôci urzâdzenia, a jedynie wyôwietla napotkane bîëdy. SFSChecka moûna uûywaê w celu uzyskania bardziej szczegóîowej informacji, gdy np. chcemy poinformowaê autora SFS'a o jakichô bîëdach, lub po prostu ûeby upewniê sië, ûe wszystko na dysku jest w porzâdku. Jeôli program raportuje bîëdy, najlepiej jest wykonaê kopië najwaûniejszych plików i przeformatowaê dysk. Uûywanie dysku SFS z bîëdami moûe ostatecznie doprowadziê do utraty wszystkich danych. W tym wypadku, naleûy posîuûyê sië narzëdziem SFSSalve aby spróbowaê odzyskaê dane. Staraj sië nie uruchamiaê SFSCheck'a, gdy zapisujesz coô na dysk. Program moûe wtedy raportowaê bîëdy, których w rzeczywistoôci nie ma (w momencie zapisu zmienia sië struktura danych). Nie jest to niebezpieczne, jako ûe SFSCheck dokonuje tylko odczytu urzâdzenia (nie naprawia go), jednak naleûy tego unikaê. Uûyj opcji LOCK/S, aby byê pewnym, ûe ûaden inny program nie zapisze niczego na dysk w momencie jego sprawdzania. SFSCheck moûe byê uûywany tylko na partycjach SFS'owych. Próba sprawdzenia partycji o innym systemie plików nie jest niebezpieczna - spowoduje jedynie wyôwietlenie komunikatu o niewîaôciwym formacie dysku. SFSCheck zwraca nastëpujâce wartoôci: - 0 (OK) - wszystko w porzâdku - 5 (WARN) - przerwanie dziaîania za pomocâ klawiszy CTRL+C - 10 (ERROR) - nieprawidîowy argument w linii poleceï - 20 (FAIL) - wystâpiî bîâd skanowania (uszkodzony blok, bîâd cache'u, SFS odmawia wspóîpracy?) ------------ Przypisy - Defragmentator ------------ Defragmentuje pliki i wolny obszar. 100% praca w tle. Defragmentacja jest moûliwa nawet podczas odczytu i zapisu danych na dysk. Jakkolwiek, SFS nie zagwarantuje 100% defragmentacji w takim przypadku. Defragmentator posîuguje sië tymi samymi bezpiecznymi technikami zapisu co SFS. Oznacza to, ûe w przypadku zawieszenia systemu, resetu, bâdú nagîego braku zasilania ûadne dane nie zostanâ utracone. Jedynym minusem takiego rozwiâzania jest prëdkosê procesu, oraz fakt nie zawsze 100 procentowej, optymalnej defragmentacji (istnieje wielka róûnica pomiëdzy prostym defragmentatorem a narzëdziem do optymalizacji dysków, jakim jest np. ReOrg). Bardzo uproszczony interfejs zostal zapewniony przy dzialaniu wbudowanego w SFS defragmentatora. Wiëcej informacji na ten temat znajdziesz w plikach .h, oraz w kodach úródîowych SFSDefragmentGUI. --------------- Historia --------------- 2.3 (26.07.2002) - Pierwsza publiczna wersja. 2.4 (26.08.2002) - Usuniëto maîy bîâd w Volume support - usuniëto komunikat "Bîâd inicjalizacji urzâdzenia" gdy brakowaîo miejsca na wewnëtrznâ pamiëê podrëcznâ. - Dodano przeîâczniki FORCE/S i QUICK/S - Dodano DEFRAGMENT/S, FL=FRAGMENTATIONLIMIT/N/K, oraz ADDB=ADDBUFFERS/N/K - Dodano NCHK=NOCHECK/S, NORB=NOROOTBLOCKS/S, NOASC=NOADMINSPACECONTAINERS/S, NONC=NONODECONTAINERS/S, NOOC=NOOBJECTCONTAINERS/S, NOBM=NOBITMAP/S, NOF=NOFRAGMENTATION/S - Dodana polska lokalizacja - Dodana francuska lokalizacja - Dodana niemiecka lokalizacja ------------ Do zrobienia ------------- - GUI - ALL/S - wykrycie i sprawdzenie wszystkich dysków SFS w systemie - wersja pod MorphOS - umoûliwienie naprawy uszkodzonych urzâdzeï SFS - znaleúê resztë bug'ów ;) ------------ Podziëkowania ------------ John Hendrikx - Oczywiôcie za wspaniaîego SFS'a :) Jörg Strohmayer - Za dalszy jego rozwój Adam "Vaghax" Potempa - Za pomoc przy tworzeniu tej instrukcji Wszyscy ludzie z kanaîu #MorphOS za nieocenionâ pomoc nie tylko przy tworzeniu tego programu. Wszyscy z mojego BetaTeam'u (w kolejnoôci alfabetycznej) - Duncan Gow, - Dietmar Lakotta, - Daniel Rangel, - Enrique R. Mecklenburg Serkovic, - Henri, - Jarek "Ajuô" Balcer, - Jerome Chesnot, - Mathias Uhlig, - OPI, - P-O Yliniemi, - Thomas Igracki, - Tony van Haarlem, - Zapek Oraz wszyscy o których zapomniaîem. :( --------------- Support --------------- Jeôli masz jakieô sugestie i/lub bug-reporty, to powiadom mnie o tym. ---------------- Autor ---------------- Marcin "Morgoth" Kurek morgoth6@box43.pl --------------------------------------