Page 11 of 13

Re: Ошибки файловой системы

Posted: Tue Mar 06, 2018 6:58 pm
by Leency
theonlymirage писал в http://board.kolibrios.org/viewtopic.ph ... 032#p70031
Либо ошибся я, либо ls в корневой директории у меня не работает из-за ошибки в 70-ой и как следствие в 80-ой функции (можно списать на документацию). Правда в том, что я могу сделать конвертацию UTF16LE <-> ASCII и обойти проблему. Саму ошибку искать только буду - можете меня опередить (магия где-то в этом файле: http://websvn.kolibrios.org/filedetails ... fs_lfn.inc ).
Суть в том, что например 2, '/', 0, 'c', 0, 'd', 0, '2', 0, '/', 0, 0, 0 корректный путь, а db 2, '/', 0, 0, 0 не корректно. Во втором случае ядро считает абсолютный путь относительным, что не соответствует документации.
Выдержка из документации: "Можно указать кодировку строки, поместив в её начале байт." Более того: "В абсолютном пути можно поместить этот байт после '/' или добавить дополнительный '/' перед ним." Все случаи не тестировал, но для некоторых это тоже не работает. Возможно документация устарела.

Re: Ошибки файловой системы

Posted: Tue Mar 06, 2018 8:55 pm
by 0CodErr
Про путь приложения, кодировки и префиксы у нас есть целая тема http://board.kolibrios.org/viewtopic.php?f=2&t=3429 :lol:

Re: Ошибки файловой системы

Posted: Wed Mar 07, 2018 11:23 pm
by Siemargl
В процессе СтарТрека выяснилось, что побайтовое чтение с дискеты fd1 в сотни/тысячи раз дольше, чем с tmp1/

Либу я поправлю - на кэширование, но возможно есть баг в самой фс (ну или в вмваре)

Re: Ошибки файловой системы

Posted: Sun May 13, 2018 9:09 pm
by Leency
Pathoswithin

Файл с именем содержащим тире не может быть прочитан на NTFS

Code: Select all

bug — dash.jpg
Spoiler:
bug — dash.jpg
bug — dash.jpg (3.05 KiB)
Viewed 11297 times

Re: Ошибки файловой системы

Posted: Mon May 14, 2018 12:17 am
by Pathoswithin
Не может быть прочитан через юникод? А то в ср866 тире нету.

Re: Ошибки файловой системы

Posted: Mon May 14, 2018 9:03 am
by Leency
СР866. Что делать с такими файлами?
Символ распространенный. Появляется при копировании элемента в ту же папку: "Коики -- копия.jpg". Может его в дефис конвертировать или как по-другому?
80 функция обратно совместима с 70, но при этом позволяет работать с такими вот именами?

Кстати та же проблема с украинским буквами: Димна сум_ш.

Re: Ошибки файловой системы

Posted: Tue May 15, 2018 10:45 am
by 0CodErr
Leency wrote:Файл с именем содержащим тире не может быть прочитан на NTFS
Такое стало происходить после некоторых правок в ядре. А раньше вроде как это работало.
И это уже обсуждалось ранее http://board.kolibrios.org/viewtopic.ph ... 235#p66231
Я предлагал сделать "Примерно как с короткими именами в FAT"

Наверняка из-под Windows доступ к таким файлам имеется даже через CreateFileA|FindFirstFileA . Если так — решение есть, нужно лишь реализовать его.

Re: Ошибки файловой системы

Posted: Thu Oct 04, 2018 8:55 pm
by Leency
Pathoswithin
В результате ревизии #6867,
RtfRead при открытии без параметра читает содержимое неизвестно чего, но судя по всему пытается открыть весь диск как RTF. :D
Можешь глянуть?

Re: Ошибки файловой системы

Posted: Fri Oct 05, 2018 9:16 am
by Pathoswithin
Я то глянул... http://websvn.kolibrios.org/comp.php?repname=Kolibri+OS&compare[]=%2F@6866&compare[]=%2F@6867
Только нужно больше информации.
Может я исправил какой-то баг, который считался фичей?

Re: Ошибки файловой системы

Posted: Fri Oct 05, 2018 11:23 am
by Leency
Я думаю баг в rtfread, лучше его глянь.

Re: Ошибки файловой системы

Posted: Sun Jan 31, 2021 7:54 am
by Kenshin
А это нормально, что файловая подсистема позволяет пользователю создавать папки "." и ".."?

Re: Ошибки файловой системы

Posted: Sun Jan 31, 2021 6:12 pm
by Pathoswithin
Ну, в FAT они не создадутся, так как уже существуют, а для остальных файловых систем это просто обычные папки.

Re: Ошибки файловой системы

Posted: Sun Jan 31, 2021 7:22 pm
by Kenshin
А в корневых директориях /rd/1/ /fd/1/ /tmp0/1/ и т.д. должны ли они создаваться? После такого в другой системе, примонтировавшей такой диск можно увидеть две папки "..".

Re: Ошибки файловой системы

Posted: Wed Feb 03, 2021 11:05 pm
by Pathoswithin
По логике наверно не должны, но и проблемы из-за этого вряд ли возникнут.

Re: Ошибки файловой системы

Posted: Sat Jun 19, 2021 6:35 pm
by Leency
Нашёл ошибку в ФС. Если приложение создаёт файл и размер файла больше размера памяти приложения, то имеем полное зависание.
Воспроизводится на последней ревизии, так и на древней svn7576-img.

Code: Select all

#define MEMSIZE 1024*10

#include "../lib/kolibri.h"
#include "../lib/fs.h"

void main()
{
	CreateFile(12791, 0, "/tmp0/1/0.raw");
	notify("'Success' -O");  //если 12791>1024*10 то успеха не будет :)
	ExitProcess();
}