Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Apr 23, 2019 11:22 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 293 posts ]  Go to page Previous 19 10 11 12 1320 Next
Author Message
 Post subject: Re: NTFS
PostPosted: Tue Dec 13, 2016 2:37 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
В том вся сложность, задача обратная: нужно определить, что и как нужно копировать на раздел NTFS или EXT2, чтобы получать одинаковую ошибку при разном состоянии раздела. Или установить, что это невозможно.


Top
   
 Post subject: Re: NTFS
PostPosted: Tue Dec 13, 2016 6:42 pm 
Offline
User avatar

Joined: Thu Apr 30, 2015 11:50 pm
Posts: 102
>>>получать одинаковую ошибку при разном состоянии раздела. Или установить, что это невозможно.<<
Т. е. 1) Создать раздел нтфс размером 1 гиг, стандартный кластер.
2) покопировать на него файлы а) поштучно б)пакетом в 5 шт в) папкой с 5-ю файлами.
3) собрать логи на каждый случай.
4)Создать раздел нтфс размером 1 гиг, увеличенный кластер. потом пункты 2 и 3.
5) .....размером 2 гига. пункты 2 и 3.
такой тест может что нибудь прояснить?

_________________
Юзер, просто юзер...со времён MS-DOS.


Top
   
 Post subject: Re: NTFS
PostPosted: Tue Dec 13, 2016 6:47 pm 
Offline
User avatar

Joined: Thu Apr 30, 2015 11:50 pm
Posts: 102
кстати о тестах... по этому адресу лежит моя тестовая папка, https://yadi.sk/d/Ekjf_ngu33Qbkc
надо бы "стандартизировать" её что-ли...какие файлы в ней должны быть?

_________________
Юзер, просто юзер...со времён MS-DOS.


Top
   
 Post subject: Re: NTFS
PostPosted: Wed Dec 14, 2016 12:28 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
Суть проблемы: я копирую одинаковые данные (содержимое образа) на раздел с NTFS или EXT2 и каждый раз возникают разные ошибки в разном месте, а то и не возникают вообще. С таким я сталкиваюсь впервые и не уверен что классическая отладка вообще возможна, так как я не знаю где искать. Логи мне не помогут, мне нужно найти действие, которое я смогу повторить с одинаковым результатом в разных условиях, чтобы потом исследовать раздел в шестнадцатеричном редакторе.


Top
   
 Post subject: Re: NTFS
PostPosted: Wed Dec 14, 2016 3:48 am 
Offline
User avatar

Joined: Sun Oct 30, 2016 1:30 am
Posts: 64
Есть подозрение, что ошибки глубоко в ядре и как-то связаны с определением дисков. На это меня натолкнуло то, что колибри на реальной машине обнаруживает floppy дисководы. Хотя их в реальности нет. Есть только HDD и DVD-ROM и 4 SATA контроллера на этой матери.

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

В любом случае я считаю, что пока не гарантирована безошибочная работа дисковой подсистемы - тестирование работы файловых систем бесполезно.


Top
   
 Post subject: Re: NTFS
PostPosted: Wed Dec 14, 2016 5:47 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
То что мне удалось создать одинаковые ошибки с помощью одинаковых разделов значит что это не ошибки устройства, и тем более не относится к определению устройств. С другой стороны, у меня есть ощущение, что это ошибки дискового кэша.


Top
   
 Post subject: Re: NTFS
PostPosted: Wed Dec 14, 2016 1:07 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
При попытке создать с помощью GenFiles 1000 файлов программа пишет "error", и у меня стабильно создаётся только 32 файла.


Top
   
 Post subject: Re: NTFS
PostPosted: Thu Dec 15, 2016 10:15 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
С помощью GenFiles успешно создал 1000 файлов в папке на NTFS.
На ext2 ошибка возникла, но где-то после 200 файлов.


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Dec 17, 2016 12:57 am 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
Ты не думал насчет каких-нибудь юниттестов ?

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

P.S. У меня есть мини-мечта - найти идеальную ФС. Пока что, лучшими были NSS и HPFS


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Dec 17, 2016 2:51 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
До сих пор "просто написать и заработает" был моим единственным и безотказным методом, а любые баги я вычислял дедуктивно, прикинув что могло привести к таким последствиям. Но сейчас я впервые в растерянности, так как не вижу ни одной закономерности, а настолько хаотичный фактор всего один - ошибки кэша. Ещё подходят ошибки в алгоритмах работы с битовыми картами, но они проявлялись бы гораздо чаще.

P.S. Чем тебе ext не нравится?


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Dec 17, 2016 1:54 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin wrote:
ошибки кэша
А почему тогда с FAT проблем не возникает?
Может лучше сейчас отключить возможность записи на NTFS\EXT пока кто-нибудь себе раздел не запорол?


Top
   
 Post subject: Re: NTFS
PostPosted: Sat Dec 17, 2016 3:43 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
Так попробуй отключи кэш.

Ext не то чтобы не нравится - но первая приличная по функционалу это Ext4, но и на ней никаких чудес производительности я не видел.


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Dec 18, 2016 1:22 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
В FAT вся запись по прежнему работает через fs_write32 по одному сектору, а fs_write64 до меня никто не использовал (и почти не тестировал). К тому же, в работе кэша однозначно есть странности viewtopic.php?f=35&t=1854&start=66
Думал дождаться CleverMouse, но наверно придётся начинать разбираться самому...

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


Top
   
 Post subject: Re: NTFS
PostPosted: Sun Dec 18, 2016 12:34 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 432
Более менее воспроизводимый пример.

Я пользуюсь халявным 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 27 times
Top
   
 Post subject: Re: NTFS
PostPosted: Sun Dec 18, 2016 5:18 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
Ты хочешь сказать, что 4600 файлов могут скопироваться без единой ошибки? Тогда я пошёл офигевать дальше... или изучать кэш...
А насколько мелкие? Файлы меньше 1 кб могут быть резидентными, тогда нет работы с данными файла и нагрузка на ФС низкая.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 293 posts ]  Go to page Previous 19 10 11 12 1320 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited