Подскажите пожалуйста, простой способ узнать размер файла в ядре. (а то что-то у меня с этим проблемы возникли) например какуюнить функцию имя_функции( имя_файла )
unsigned long GetFileSize( FILE *f){ unsigned long off_save; unsigned long filesize; off_save=fseek( f, 0, SEEK_CUR); fseek( f, 0, SEEK_END); filesize = ftell(f); fseek( f, off_save, SEEK_SET); return( filesize); }
Конечно не спец по ядру Юникса, но он поддерживает кроме etx, fat32, fat , minix и т.д. Отсюда следует, что 2-й вопрос не имеет смысла, а первый вряд ли имеет ... Тут как раз в очередной раз восстанавливаю загрузку Линукса. Как известно нормальное ядро вообще не содержало поддержку никаких файловых систем и без initrd работать не умело. После длинных ругательств все-таки кое-что включили(приклеили) в ядро. Но ... это дела не меняет.
n0name ответил более менее верно. Через filp_open получаем указатель на struct file а дальше, если кому нужно, то вот file_ptr = filp_open(); inode получаем так inode_ptr = file_ptr->f_mapping->host;