2012-09-11 16 views
5

Odczytywanie z/dev/block/mmcblk0 zwróciło stare dane podczas odczytu z/dev/block/mmcblk0p1 zawierało najnowsze dane. Moje pytanie brzmi: czy linux utrzymuje kopię zapasową, jeśli dane są zapisywane w/dev/block/mmcblk0? Dzieje się tak, ponieważ byłem w stanie odczytać starą zawartość karty SD, czytając ten węzeł.Różnica między odczytem z/dev/block/mmcblk0 a/dev/block/mmcblk0p1

+5

Czy na pewno wracają "stare dane", tak jak w danych przed ich zapisaniem? Wydaje mi się, że te dwa urządzenia blokowe to cały dysk i pierwsza partycja. IO na mmcblk0p1 jest jak odczyt/zapis na mmcblk0 z offsetem. – cdleonard

+3

cdleonard jest poprawny. mmcblk0 jest całym dyskiem (zaczynającym się od sektora rozruchowego i zawierającym tablicę partycji), a mmcblk0p1 jest pierwszą partycją. Nie ma mowy, aby mmcblk0 zawierał "stare" dane. – Gnurou

Odpowiedz

9

Podsystem mmc w jądrze Linux rejestruje węzły urządzeń w formacie mmcblkXpY.

  • Każde urządzenie MMC zarejestrowany withing jądra Linux odbiera go własny numer urządzeniu mmc X.
  • Każda partycja na określonym urządzeniu odbiera mu własny numer Y

normalny plik I/O może być wykonane po montażu węzła urządzenia wskazującego partycji.

Należy również pamiętać, że jeśli w urządzeniu /dev/mmcblkX nie jest wyświetlana poprawna tabela partycji, w systemie nie będzie kolejnych węzłów /dev/mmcblkXpY.