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

Work with drives, directories, files
  • Падений какой-нибудь программы с сообщением на вкладке kernel доски отладки при этом не было?
    Сделаем мир лучше!
  • CleverMouse, я не обратил внимания в тот раз. Возможно, я сам что-то вырубил через CPU.
    Ещё вот такое бывает:
    Spoiler:Image
  • Вот и я такое встретил.
    Attachments
    1.png
    1.png (29.76 KiB)
    Viewed 5010 times
    Из хаоса в космос
  • После попытки копирования на tmp:
    Image
    Это было в VirtualBox.
  • Вот, теперь можно говорить предметно. На скриншоте падение в коде драйвера из-за того, что ему передали указатель на буфер, выходящий за пределы выделенной памяти. Теоретически возможны два варианта: приложение вызывает функцию 70, передавая ему неправильный буфер или неправильный размер - так, что конец буфера выходит за границы памяти, выделенной приложению, - или код файловой системы в какой-то момент сходит с ума и читает из буфера всё подряд, выходя за его границы. При отсутствии дополнительной информации я склоняюсь к первому варианту.
    Сделаем мир лучше!
  • В том ЛС, что я отправил код был такой:

    Code: Select all

    	RunProgram("/sys/tmpdisk", "a9s100");
    	pause(400);
    	//далее создаётся около 12 папок
    После этого на созданном /tmp9/1/ была каждый раз каша. Я поставил задержку 400 и теперь всё нормально.
    Из хаоса в космос
  • приложение вызывает функцию 70, передавая ему неправильный буфер или неправильный размер
    Да, так и есть. Но разве не должна была просто вернуться ошибка "7 = указатель вне памяти приложения"?
  • Нет, ошибка 7 родом из тех времён, когда ещё не было динамически выделяемой памяти. Сейчас такие проверки невозможны, ошибка 7 никогда не возвращается.
    Сделаем мир лучше!
  • Мусор в корневой папке был вызван ошибкой в коде форматирования FAT16 в драйвере tmpdisk, драйвер обнулял меньше, чем надо, в результате в корневую папку могло попасть всё, что ранее находилось в невыделенной памяти. При загрузке системы там, как правило, и были нули, но если добавлять/удалять диски много раз и что-нибудь делать в промежутке между удалением и добавлением, то появляется мусор. Я исправила ошибку в r3285.
    Сделаем мир лучше!
  • То есть в драйвере есть форматирование в FAT16, которое потенциально можно использовать для жестких? Хотеть!
  • SoUrcerer wrote:То есть в драйвере есть форматирование в FAT16, которое потенциально можно использовать для жестких? Хотеть!
    Spoiler:По личному опыту скажу, что сделать форматер FAT/12/16/32 относительно несложно, но времязатратно. Наличие одной лишь поддержки FAT16 сделанной для частного случая не сильно облегчит ситуацию. Есть еще вопрос - можно выдавать обезьяне пользователю - гранату функцию позволяющую записывать в любой сектор любого диска. Даже если исключить наличие вирусов и злого умысла, всегда есть шанс, что пользователь угробит свой диск с уютной виндюшечкой, а мы сволочи такие будем все равно виноваты, хоть и предупреждали. Помнишь истории с CTR мониторами, да?

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

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

    З.Ы. Если посчитаете оффтопом - можете сносить мое сообщение.
    Last edited by Mario_r4 on Wed Feb 27, 2013 5:43 pm, edited 2 times in total.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Сделаем мир лучше!
  • С целью большей практической целесообразности в менеджер нужно добавить отображение размеров созданных дисков, если такой функции нет в ядре, то нужно добавить.

    З.Ы. Разумеется это моей субъективное мнение и авторы могу думать иначе.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Самому интересно есть ли возможность узнать размер дисков и даже размер свободного места на них.
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 8 guests