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/.
Piszę aplikację w Qt, której jednym z zadań będzie kopiowanie jej raportów na pendrive, z tym, że będzie ona obsługiwana przez osoby, które mogą bez odmontowania usuwać pendriva z portu usb, a jak wiadomo jest buffering, i przy takiej czynności dane się nie zapisują. Pytanie czy można tak montować pendriva, aby od razu zapisywało dane bez bufferowania ( partycje fat oraz ntfs)? Druga sprawa jak najlepiej zaimplementować montowanie, aby aplikacja "wiedziała", gdzie zapisywać dane? Czy zaprzęgnąć do tego udev i nakazać mu montowanie pendrive w jednej lokalizacji, czy może obsłużyć juz z aplikacji montowanie i odmontowanie za pomocą zwykłego polecenia mount? Dodam, że będzie to na debianie, i jednocześnie do sprzętu będzie można podpiąć tylko jedno urządzenie usb. Pozdrawiam
Offline
Zapisywanie bez buforów opcja sync polecenia mount.
Co co rozwiązania montowania, najprościej użyć funkcji system i polecenia mount/umount z odpowiednimi parametrami: po pierwsze zamontujesz gdzie chcesz, rozpozna sam czy fat/czy ntfs (oczywiście muszą być zainstalowane potrzebne pakiety).
Zresztą montowanie z opcją sync jest zupełnie nie potrzebne, możesz montować "normalnie", potem wywołać sync, następnie odmontować nośnik. Zawsze możesz wprowadzić funkcję weryfikacji danych, przed kopiowaniem raportu gererujesz jego sumę kontrolną (CRC, MD5, itp), potem montujesz, kopiujesz, sync, odmontowujesz, potem znowu montujesz, porównujesz sumę kontrolną, odmontowujesz. A użytkownikowi wyświetlasz komunikaty: włóż pendrive, zapisywanie danych - nie wyciągaj nośnika, trwa weryfikacja danych, możesz wyciągnąć nośnik.
Oczywiście Ty jesteś odpowiedzialny za to, aby napisać obsługę wszystkich błędów jakie mogą się pojawić, z typu niezapisywany nośnik, wyjęcie nośnika w czasie zapisu...
Offline