LINUX.ORG.RU

удостовериться , что i_bdev инициализирован


0

0

Всем доброго времени суток

В своём модуле мне нужно хранить структура gendisk для некоторых блочных устройств, которые я знаю по имени. Сейчас я делаю это так:

if (!path_lookup(base_devices[base_idx],LOOKUP_OPEN, &lookup_result))
	{
		printk("Cannot find base device%s\n", base_devices[base_idx]);
		return -1; //no device with such name
	}
	basedevice_=lookup_result.path.dentry->d_inode->i_bdev;

Но известно, что поле i_bdev инициализируется blkdev_open() , если файл блочного устройства ещё не был открыт. Так вот, я хочу удостовериться, что когда я обращаюсь к этой структуре, она уже проинициирована. open() делать в ядре, как я понимаю, не хорошо. Лишних дескрипторов файлов мне не нужно. Посоветуйте, как быть?

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.