Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Próbuję przywrócić funkcjonowanie programu montowania (“filesystem daemon”) przez FUSE przykładowego systemu plików, który kiedyś działał. Program jest zaimplementowany bez użycia biblioteki ‟libfuse” (sam obsługuje protokół komunikacji z ‘kernelem’).
Kolejne kroki podczas uruchamiania programu są następujące:
1. Otwórz “/dev/fuse” do komunikacji z ‘kernelem’.
2. Wykonaj “mount” pliku urządzenia, typu “fuseblk”, z odpowiednimi danymi zawierającymi deskryptor otwartego “/dev/fuse”.
3. Przetwarzaj komunikaty ze strumienia na otwartym deskryptorze.
Program kończy z błędem “EBUSY” na kroku 2.
Ponieważ mam źródła ‘kernela’ (z których kompiluję bieżący), to sprawdziłem, że błąd jest generowany przez tę linię w trakcie wykonywania ‘syscalla’ “mount”.
W źródłach ‟libfuse” jest procedura, na której się wzorowałem, implementując powyższe kroki. Ale w ‘kernelu’ pojawiła się nowa flaga dla tego typu montowania w linii wskazująca, że to nie jest teraz główna metoda montowania.
Ma ktoś wiedzę, co się zmieniło w ‘kernelu’? Co powinienem zmienić w programie, by można było zamontować urządzenie?
Ostatnio edytowany przez overcq (Dzisiaj 15:23:06)
Offline
Strony: 1