Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт апр 28, 2017 10:50 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 135 сообщений ]  На страницу Пред. 15 6 7 8 9
Автор Сообщение
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Сб фев 11, 2017 9:59 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
Не совсем понял вопрос, но я думаю из первых строк кода семидесятой всё должно быть понятно http://websvn.kolibrios.org/filedetails ... fs_lfn.inc


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Сб фев 11, 2017 10:32 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Pathoswithin писал(а):
Не совсем понял вопрос, но я думаю из первых строк кода семидесятой всё должно быть понятно http://websvn.kolibrios.org/filedetails ... fs_lfn.inc

Если это начало любой 70.х, то должно работать одинаково.

Но теперь у меня больше вопрос - в ESI у нас указатель на путь в cp866 в строке 55.
Если по указателю db '/0мусор', то тоже окажется что это не рутдир, т.к EDI=0.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Сб фев 11, 2017 12:15 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
А что не так? Если edi=2, то это utf-16, иначе rootdir.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Вс фев 12, 2017 6:59 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Точно, ОК.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Пн мар 27, 2017 9:36 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 738
После ревизии 6845 в одной из моих тестовых программ перестал открываться файл с изображением jpeg. По всей видимости выдается какая-то ошибка фс. Подробнее пока сказать не могу, нет времени на тесты.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Пн мар 27, 2017 5:09 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 738
Ошибка была найдена в работе программы. Программа пробовала открыть из файла больше байт чем в нем было. Это давало ошибку номер 6, но программа не обращала на это внимания и работала дальше. А после ревизии 6845 перестала работать вообще. Не понятно почему теперь ф. 70 не открывает из файла то что можно из него открыть.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Пн мар 27, 2017 7:06 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
Файловая система FAT? Какой размер файла и какими данными была заполнена структура?


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Пн мар 27, 2017 8:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 738
Pathoswithin писал(а):
Файловая система FAT? Какой размер файла и какими данными была заполнена структура?

Точно сказать не могу, потому что это файл образа iso, который я тестировал через VirtualBox. Вроде-бы в свойствах файла пишет что какой-то Joliet, хотя я про такую ФС раньше не слышал.
Могу почистить файл iso образа и скинуть для тестов если будет нужно.


Вложения:
disk_prop.png
disk_prop.png [ 9.5 КБ | 576 просмотров ]
Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Пн мар 27, 2017 11:06 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
Ирония в том, что наш драйвер, который называется iso9660, на самом деле драйвер Joliet, а ISO 9660 он как раз и не поддерживает...

А сейчас что конкретно получается?


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Вт мар 28, 2017 1:49 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 738
Pathoswithin писал(а):
А сейчас что конкретно получается?

Раньше в программе было так:
Код:
...
   mov eax,70 ;70-я функция работа с файлами
   mov [run_file_70.Function], 0
   mov [run_file_70.Position], 0
   mov [run_file_70.Flags], 0
   mov [run_file_70.Count], dword size
   m2m [run_file_70.Buffer], [buf]
   mov byte[run_file_70+20], 0
   mov [run_file_70.FileName], file_name
   mov ebx,run_file_70
   int 0x40 ;загружаем файл изображения
   cmp ebx,0xffffffff
   je @f
... открытие файла ...
   @@:
...

где size - размер файла давался с запасом. И оно работало, но давало ошибку о том что файл закончился заранее и не все байты прочитаны.
Для себя я решил проблему обновив алгоритм работы программы. Теперь сначала проверяется размер файла, а потом идет попытка открытия с точным значением размера.
Хотя чисто теоретически оно должно работать и по старому алгоритму. Если пользователь просит считать с файла лишние байты, то по идее должно быть считано все что есть и должна выдаться ошибка 6 (EOF).


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Вт мар 28, 2017 5:34 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
Понятно. Исправил документацию.

revision #6880


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Вт мар 28, 2017 6:32 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 738
Теперь нужно проверить есть ли программы которые искали -1 в регистре ebx.
Потому что теперь там будет 0 в случае неудачи.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Вт мар 28, 2017 6:52 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
В принципе, программам должно быть всё равно, файл пустой или его нет.


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Ср мар 29, 2017 10:17 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Pathoswithin писал(а):
В принципе, программам должно быть всё равно, файл пустой или его нет.
Это некорректное утверждение.
Ошибка 5 возвращается в случае отсутствия файла у 70.0 и каталога 70.1 (80.0/80.1)?


Вернуться к началу
 Заголовок сообщения: Re: Ошибки файловой системы
СообщениеДобавлено: Ср мар 29, 2017 10:54 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1125
Если программу интересуют данные, то важен только факт, что их нет. Если интересует сам файл, то ошибка 5 возвращается для всех функций, кроме создания.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 135 сообщений ]  На страницу Пред. 15 6 7 8 9

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB