NTFS

Drive subsystem, filesystem drivers
  • >>>получать одинаковую ошибку при разном состоянии раздела. Или установить, что это невозможно.<<
    Т. е. 1) Создать раздел нтфс размером 1 гиг, стандартный кластер.
    2) покопировать на него файлы а) поштучно б)пакетом в 5 шт в) папкой с 5-ю файлами.
    3) собрать логи на каждый случай.
    4)Создать раздел нтфс размером 1 гиг, увеличенный кластер. потом пункты 2 и 3.
    5) .....размером 2 гига. пункты 2 и 3.
    такой тест может что нибудь прояснить?
    Юзер, просто юзер...со времён MS-DOS.
  • кстати о тестах... по этому адресу лежит моя тестовая папка, https://yadi.sk/d/Ekjf_ngu33Qbkc
    надо бы "стандартизировать" её что-ли...какие файлы в ней должны быть?
    Юзер, просто юзер...со времён MS-DOS.
  • Суть проблемы: я копирую одинаковые данные (содержимое образа) на раздел с NTFS или EXT2 и каждый раз возникают разные ошибки в разном месте, а то и не возникают вообще. С таким я сталкиваюсь впервые и не уверен что классическая отладка вообще возможна, так как я не знаю где искать. Логи мне не помогут, мне нужно найти действие, которое я смогу повторить с одинаковым результатом в разных условиях, чтобы потом исследовать раздел в шестнадцатеричном редакторе.
  • Есть подозрение, что ошибки глубоко в ядре и как-то связаны с определением дисков. На это меня натолкнуло то, что колибри на реальной машине обнаруживает floppy дисководы. Хотя их в реальности нет. Есть только HDD и DVD-ROM и 4 SATA контроллера на этой матери.

    примечание: Это предположение дилетанта. А потому, возможно - заблуждение.

    В любом случае я считаю, что пока не гарантирована безошибочная работа дисковой подсистемы - тестирование работы файловых систем бесполезно.
  • То что мне удалось создать одинаковые ошибки с помощью одинаковых разделов значит что это не ошибки устройства, и тем более не относится к определению устройств. С другой стороны, у меня есть ощущение, что это ошибки дискового кэша.
  • При попытке создать с помощью GenFiles 1000 файлов программа пишет "error", и у меня стабильно создаётся только 32 файла.
  • С помощью GenFiles успешно создал 1000 файлов в папке на NTFS.
    На ext2 ошибка возникла, но где-то после 200 файлов.
  • Ты не думал насчет каких-нибудь юниттестов ?

    Ибо тема очень сложная, и "просто написать и заработает" не пройдет.

    P.S. У меня есть мини-мечта - найти идеальную ФС. Пока что, лучшими были NSS и HPFS
  • До сих пор "просто написать и заработает" был моим единственным и безотказным методом, а любые баги я вычислял дедуктивно, прикинув что могло привести к таким последствиям. Но сейчас я впервые в растерянности, так как не вижу ни одной закономерности, а настолько хаотичный фактор всего один - ошибки кэша. Ещё подходят ошибки в алгоритмах работы с битовыми картами, но они проявлялись бы гораздо чаще.

    P.S. Чем тебе ext не нравится?
  • Pathoswithin wrote:ошибки кэша
    А почему тогда с FAT проблем не возникает?
    Может лучше сейчас отключить возможность записи на NTFS\EXT пока кто-нибудь себе раздел не запорол?
  • Так попробуй отключи кэш.

    Ext не то чтобы не нравится - но первая приличная по функционалу это Ext4, но и на ней никаких чудес производительности я не видел.
  • В FAT вся запись по прежнему работает через fs_write32 по одному сектору, а fs_write64 до меня никто не использовал (и почти не тестировал). К тому же, в работе кэша однозначно есть странности viewtopic.php?f=35&t=1854&start=66
    Думал дождаться CleverMouse, но наверно придётся начинать разбираться самому...

    Siemargl
    Если хочешь чудес производительности, отключай журналирование, других вариантов нет.
  • Более менее воспроизводимый пример.

    Я пользуюсь халявным VMWare Player - могу образ диска vmdk выложить при желании.
    Создаем диск в XP, 2Gb NTFS default cluster.

    Копируем этот виртуальный диск как отдельный диск к Колибри.

    Далее, из https://cmake.org/download/ берем архив cmake-3.7.1-win32-x86.zip (в нем 4600 мелких файлов, в т.ч. с длинными именами)
    Я его копирую на УСБ-флешку (FAT32) и монтирую к колибри, но неважно.

    Разархивируем внутри колибри содержимое на NTFS-диск
    cd /usbhd0/1/folder
    unzip cmake-3.7.1-win32-x86 -d /hd0/1/xx
    (подкаталог требуется обязательно, иначе получаем ошибку "лала - не создать корневой каталог" - еще будет разбираться)

    Проверка - копируем распакованный каталог обратно на Флешку KFAR, и в хост системе:
    - проверка ФС флешки - ОК
    - сравниваем пофайлово, с содержимым - все ОК

    Подготовительная база для теста готова. Дальше тесты работают с этой базой

    -----------------тест 1-----------------------------------------------
    Копируем KFAR каталог cmake-3.71.... Из подпапки xx в корень этого же диска - ОК
    Копируем Eolite каталог cmake-3.71.... Из подпапки xx в новую подпапку 11 этого же диска - Eolite выпадает, ошибка в kernel,
    после этого система не работает - все файловые операции с диском виснут, например cd /hd0/1 в консоли

    -----------------тест 1.1-----------------------------------------------
    Копируем KFAR каталог cmake-3.71.... Из подпапки xx в корень этого же диска - ОК
    Копируем KFAR каталог cmake-3.71.... Из подпапки xx в новую подпапку \hd0\1\11 этого же диска - ОК
    Копируем Eolite каталог cmake-3.71.... Из подпапки xx в новую подпапку \hd0\1\22 этого же диска - появляются ошибки №6 (notify, не прерывают копирование), в Боард - Error: CopyFolder->CreateDir ошибка #2 функция не поддерживается для этой ФС.
    Далее с диском при операциях записи всегда ошибка - не поддерживается, но чтение работает.

    -----------------тест 2-----------------------------------------------
    Удаляем KFAR каталог xx - ошибка доступа к файлам (функция не поддерживается для данной ФС), причем поштучно они удаляются
    Со 5й попытки удаляется и каталог.

    Удаляем Eolite каталог хх возникают Eolite Ошибка 10 - доступ запрещен, Ошибка 6 - конец файла. При этом удаление прерывается, но ничего не вылетает.
    Со 3й попытки удаляется все.

    После удалений, еще раз разархивируем cmake, и диск тащим проверять обратно в WinXP - chkdsk /f/r ошибок нет
    Attachments
    unzip (129.99 KiB)
    Downloaded 169 times
  • Ты хочешь сказать, что 4600 файлов могут скопироваться без единой ошибки? Тогда я пошёл офигевать дальше... или изучать кэш...
    А насколько мелкие? Файлы меньше 1 кб могут быть резидентными, тогда нет работы с данными файла и нагрузка на ФС низкая.
  • Who is online

    Users browsing this forum: No registered users and 9 guests