Вы можете рассмотреть printk(KERN_ALERT "Something else happened\n")
в случае, если file1 не равен NULL
или -ENODEV
. Это может дать некоторые интересные результаты. Может быть:
if (file1 == NULL)
printk(KERN_ALERT "Error occurred\n");
else if (file1 == -ENODEV)
printk(KERN_ALERT "ENODEV occurred\n");
else
printk(KERN_ALERT "Something else occurred\n");
Я не очень знаком с библиотеками программирования ядра, но если есть интерфейс va_args, аналогичный printk (), вы, вероятно, могли бы напечатать значение file1.
Теперь, глядя на это, есть ли какое-то ядро errno
? Или это то, что возвращает debugfs_create_file ()?
UPDATE
Единственная помощь, которую я могу сейчас дать, - это каким-то образом выяснить, каково значение file1, и выяснить, что это значит. Вы можете поискать эквивалент errno
и посмотреть, установлен ли он. В основном эквивалентен вызову perror()
в ядре.