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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  Dzisiaj 08:33:05

  overcq - Użytkownik

overcq
Użytkownik
Zarejestrowany: 2024-11-17
Serwis

EBUSY podczas montowania systemu plików przez FUSE

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)


Nie znam się, ale się wypowiem.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)