Przejdź do Strony Głównej Grup Zaawansowane Wyszukiwanie w Grupach Dyskusyjnych Google [IMG] [IMG] Dyskusyjnych Ustawienia Grupy dyskusyjne [IMG] ________________________________ [ Szukaj z Google ] Liczba katalogowych wyników poszukiwań: 1 dla slrnbjch7v.8aq.wapkil@pawlik.magma-net.pl Liczba trafień 1 Autor:Hoppke (grzegorz@quatrin.pl) Temat:Re: jak przerwać "nieprzerywalny sen" ? View: Complete Thread (liczba dokumentów: 30) Original Format Grupy dyskusyjne:alt.pl.comp.os.linux.newbie Data:2003-08-11 06:18:34 PST Message has been fingerprinted by Marcin Pawlik: >> echo "0" > /proc/sys/dev/cdrom/lock >> >> I możesz już normalnie wysunąć tackę. > > Nie sądzę. > > AFAIR ten "lock" nie określa stanu blokady urządzenia (choćby dlatego, > że nie wiadomo którego). Mówi jedynie, czy przy kolejnych montowaniach > dowolnego z nich, tacka ma być blokowana. Fakt, masz rację. Sprawdziłem właśnie i nie działa dla "aktualnej sesji montowania" a dopiero dla następnych. Czy zawsze tak było? Bo mógłbym _przyrzec_ że gdy ostatnio się temu przyglądałem (w czasach "średniego linuksa 2.x") to miało to wpływ nawet na aktualnie zamontowane płytki. Ale może po prostu mi się już to wszystko popiep.#$> > Żeby odblokować, starczy natomiast użyć zwykłego ioctl-a: > > #v+ > int fd; > fd = open("/dev/cdrom", O_RDONLY); > ioctl(fd, CDROM_LOCKDOOR, 0); > close(fd); > #v- Działa ślicznie. >> Brak płyty spowoduje natychmiastowy, twardy błąd odczytu, skończą się >> operacje IO, mount sam się zabije, a cdfs.o będziesz mógł usunąć z >> pamięci. > > A to wygląda na zbyt piękne, by być prawdziwe. Błąd odczytu musiałby > powstać w sterowniku. Tak. > Jeśli wrzucił mounta w długi uninterruptible sleep, najwyraźniej mu > odbiło i nie widzę wielkich szans, by wyjęcie płytki przywróciło go do > normalności. W przypadku czytników CD problem jest często sprzętowy, elektronika czytnika czasem w nieskończoność przedłuża jakąś czynność (np. korektę odczytu)... Zbyt pochopnie założyłem, że to o to tutaj będzie chodzić. Praktyka z czytnikami nauczyła mnie, że całkiem często amputowanie[1] płytki czytnikowi przerywa "wiszące" procesy. Ale to było zwykle w połączeniu z domyślnym linuksowym sterownikiem ide-cd, a nie z cdfs. On może faktycznie być wadliwy. [1] - jakkolwiek by je wykonać. Wyprostowany spinacz biurowy wepchnięty w specjalny otworek, wyłączenie programowego blokowania tacki, ba, słyszałem, że niektórzy nawet kable sygnałowe odłączają (brr, to już brutalne bardzo) BTW, jakiś czas temu (to mogło być równie dobrze pół roku, jak i dwa lata temu) widziałem chyba gdzieś sposób na usuwanie takich zablokowanych modułów. To się wiązało jakoś z załadowaniem innego, specjalnie spreparowanego mini-modułu który w jakiś sposób odblokowywał całość. Wtedy chodziło chyba o "powieszone" sterowniki winmodemów. Technicznej strony rozwiązania w ogóle nie zrozumiałem, ale nic dziwnego - chyba chodziło o jakieś częściowe "podszycie" się jednego modułu pod drugi. Hmm, a to nie ty byłeś przypadkiem autorem tamtego przykładowego kodu? Nie pamiętam już nawet gdzie to widziałem, ale to było po polsku, chyba na którymś z serwisów z newsami, w komentarzach od czytelników (LinuxNews/7thGuard może?), całkowicie znienacka - jak to w komentarzach do artykułów bywa. > Pozdrawiam Nawzajem. PS. Coś Cię nie było ostatnio widać/słychać... -- \hoppke (Grzegorz Niewęgłowski) http://lubuska.zapto.org/~hoppke/ --------------------------------------------------------------------------------------------------- (c)2004 Google