2015-03-16 4 views
1

Я довольно новичок в программировании ядра Linux, и я должен создать новый уровень RAID для курса. Вот почему я задаю себе несколько вопросов о функциях и структурах, содержащихся в файле md.c, и особенно о структуре mddev, определенной here. Как вы можете видеть, почти нет комментариев о структуре в себе. Я просто не понимаю, какова главная роль этого и какая большая разница с md_personality? Оба, похоже, определяют функциональность RAID.Какова цель структуры mddev в md.c?

+0

Я уточнил и подрезал заголовок, чтобы сделать его более привлекательным и понятным, а также обрезать теги и тело по той же причине. –

+0

http://www.mjmwired.net/kernel/Documentation/md.txt В соответствии с этим md_personality больше относится к уровням RAID, а mddev - для самого устройства. –

+0

Благодарим вас за помощь и ребята! Я думаю, что получаю это сейчас: D – Zaaro

ответ

0

В соответствии с моим пониманием, всякий раз, когда вы создаете любое новое устройство RAID с помощью утилиты mdadm с определенным уровнем RAID, MD-уровень создает структуру mddev, которая содержит информацию, связанную с этим вновь созданным устройством, например, майор-младший номер для вновь созданного устройства, максимальные устройства разрешено и т. д.

md_personality относится к уровню рейда, который вы указали в mdadm. Он содержит уровни RAID и поддерживаемые операции, которые могут быть выполнены на устройстве RAID. md_personality сама по себе является частью mddev.

В вашем случае, я думаю, вам нужно создать новую личность для своей собственной цели, как и другие личности, то есть raid5_personality для уровня RAID 5.

+0

Большое спасибо за этот приятный и быстрый ответ! Я вижу, как эти вещи работают вместе сейчас :) – Zaaro

Смежные вопросы