![]() |
|
Модераторы: xvr |
![]()
|
|
| proc_maker |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Здравствуйте, эксперты!
Подскажите плз, как мне в userspace имея доступ к файлу блочного устройства, программно определить тип файловой системы на нем не используя метод монтирования командой mount (на С++). Функции типа statfs, ustat работают только со смонтированными ФС. Моя же цель - определить, можно ли монтировать данное устройство или нет. Спасибо! |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
proc_maker,
использовать сигнатуры ФС в их суперблоке и сравнивать их с известными ФС далее можно смотреть /proc/filesystems для определения поддержки этих ФС ядром (т. е определять, можно монтировать данное блочное устройство или нет) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| proc_maker |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
А не могли бы Вы привести примерчик супперблока (по чему мне сравнивать) к примеру для ext2?
Я смотрел для XFS - там первые 4 байта="XFSB", а для ext2 там килобайт нулей, да и потом особо вилимых сигнатур я не могу найти. Спасибо! |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
proc_maker,
ну например для reiserFS сейчас в исходниках нашел, что смещение суперблока относительно начала раздела находится по REISERFS_DISK_OFFSET_IN_BYTES = 64 * 1024 (для версий > 3.5.10) и REISERFS_OLD_DISK_OFFSET_IN_BYTES = 8 * 1024 (для версий <= 3.5.10) т. е я думаю так можно так для > 3.5.10 (не проверял)
аналогично поступаем со всеми остальными ФС (только я думаю проще mount использовать) Это сообщение отредактировал(а) MAKCim - 22.4.2007, 10:01 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |