Page 3 of 10

Re: tmpdisk - менеджер виртуальных дисков

Posted: Wed Feb 13, 2013 4:44 pm
by 0CodErr
Не захотел добавлять диск.
Spoiler:Image
Дело было в VirtualBox, svn3227. Сначала я копировал с CD на tmp файл размером 14 Мб и одновременно с этим копировал на tmp все файлы и папки с RD. После этого нельзя было зайти на tmp. Я его удалил, создал новый tmp и снова повторил копирование. Снова не заходит на tmp, я его удалил, но создать уже не получилось.

Posted: Wed Feb 13, 2013 6:00 pm
by CleverMouse
Падений какой-нибудь программы с сообщением на вкладке kernel доски отладки при этом не было?

Re: tmpdisk - менеджер виртуальных дисков

Posted: Wed Feb 13, 2013 7:00 pm
by 0CodErr
CleverMouse, я не обратил внимания в тот раз. Возможно, я сам что-то вырубил через CPU.
Ещё вот такое бывает:
Spoiler:Image

Re: tmpdisk - менеджер виртуальных дисков

Posted: Thu Feb 14, 2013 8:13 pm
by Leency
Вот и я такое встретил.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Sun Feb 17, 2013 7:52 pm
by 0CodErr
После попытки копирования на tmp:
Image
Это было в VirtualBox.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Mon Feb 18, 2013 11:49 am
by CleverMouse
Вот, теперь можно говорить предметно. На скриншоте падение в коде драйвера из-за того, что ему передали указатель на буфер, выходящий за пределы выделенной памяти. Теоретически возможны два варианта: приложение вызывает функцию 70, передавая ему неправильный буфер или неправильный размер - так, что конец буфера выходит за границы памяти, выделенной приложению, - или код файловой системы в какой-то момент сходит с ума и читает из буфера всё подряд, выходя за его границы. При отсутствии дополнительной информации я склоняюсь к первому варианту.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Mon Feb 18, 2013 2:38 pm
by Leency
В том ЛС, что я отправил код был такой:

Code: Select all

	RunProgram("/sys/tmpdisk", "a9s100");
	pause(400);
	//далее создаётся около 12 папок
После этого на созданном /tmp9/1/ была каждый раз каша. Я поставил задержку 400 и теперь всё нормально.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Mon Feb 18, 2013 6:17 pm
by 0CodErr
приложение вызывает функцию 70, передавая ему неправильный буфер или неправильный размер
Да, так и есть. Но разве не должна была просто вернуться ошибка "7 = указатель вне памяти приложения"?

Re: tmpdisk - менеджер виртуальных дисков

Posted: Mon Feb 18, 2013 6:24 pm
by CleverMouse
Нет, ошибка 7 родом из тех времён, когда ещё не было динамически выделяемой памяти. Сейчас такие проверки невозможны, ошибка 7 никогда не возвращается.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Wed Feb 27, 2013 2:01 pm
by CleverMouse
Мусор в корневой папке был вызван ошибкой в коде форматирования FAT16 в драйвере tmpdisk, драйвер обнулял меньше, чем надо, в результате в корневую папку могло попасть всё, что ранее находилось в невыделенной памяти. При загрузке системы там, как правило, и были нули, но если добавлять/удалять диски много раз и что-нибудь делать в промежутке между удалением и добавлением, то появляется мусор. Я исправила ошибку в r3285.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Wed Feb 27, 2013 4:53 pm
by SoUrcerer
То есть в драйвере есть форматирование в FAT16, которое потенциально можно использовать для жестких? Хотеть!

Re: tmpdisk - менеджер виртуальных дисков

Posted: Wed Feb 27, 2013 5:40 pm
by Mario_r4
SoUrcerer wrote:То есть в драйвере есть форматирование в FAT16, которое потенциально можно использовать для жестких? Хотеть!
Spoiler:По личному опыту скажу, что сделать форматер FAT/12/16/32 относительно несложно, но времязатратно. Наличие одной лишь поддержки FAT16 сделанной для частного случая не сильно облегчит ситуацию. Есть еще вопрос - можно выдавать обезьяне пользователю - гранату функцию позволяющую записывать в любой сектор любого диска. Даже если исключить наличие вирусов и злого умысла, всегда есть шанс, что пользователь угробит свой диск с уютной виндюшечкой, а мы сволочи такие будем все равно виноваты, хоть и предупреждали. Помнишь истории с CTR мониторами, да?

Именно по этой причине мы с Евнением Гречниковым мягко говоря разошлись во мнениях - я предлагал при отсутствии прав доступа включать такую функцию в специально скомпилированную версию ядра, а он желал прямо в trunk разместить.

Разумеется все вышесказанное исключительно мое субъективное оценочное суждение. Можно просто забить и делать как вздумается. Просто вспоминается еще моя первая работа на заводе, где мне велели прочитать подробную технику безопасности и пояснили что каждый пункт окроплен кровью пострадавших идиотов обоих полов.

З.Ы. Если посчитаете оффтопом - можете сносить мое сообщение.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Wed Feb 27, 2013 5:41 pm
by CleverMouse

Re: tmpdisk - менеджер виртуальных дисков

Posted: Thu Feb 28, 2013 12:41 am
by Mario_r4
С целью большей практической целесообразности в менеджер нужно добавить отображение размеров созданных дисков, если такой функции нет в ядре, то нужно добавить.

З.Ы. Разумеется это моей субъективное мнение и авторы могу думать иначе.

Re: tmpdisk - менеджер виртуальных дисков

Posted: Thu Feb 28, 2013 1:27 am
by Leency
Самому интересно есть ли возможность узнать размер дисков и даже размер свободного места на них.