Я пытаюсь следить за тем, как Linux работает с файлами EXT3. Я смотрю на fs/ext3/file.c
где есть операции с файлами, которые имеют дело с файлами присутствуют:Операции с файлами EXT3
const struct file_operations ext3_file_operations = {
.llseek = generic_file_llseek,
.read = do_sync_read,
.write = do_sync_write,
.aio_read = generic_file_aio_read,
.aio_write = generic_file_aio_write,
.unlocked_ioctl = ext3_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = ext3_compat_ioctl,
#endif
.mmap = generic_file_mmap,
.open = dquot_file_open,
.release = ext3_release_file,
.fsync = ext3_sync_file,
.splice_read = generic_file_splice_read,
.splice_write = generic_file_splice_write,
};
Как я могу найти, когда это .Open заменяется функцией «dquot_file_open», например? Должен ли я следовать системный вызов, определенный в fs/open.c
:
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
Или я должен смотреть на другие функции?
Я работаю на Linux 3.7.6 для User-Mode-Linux
Да, я знаю эту информацию. Мой вопрос в том, где открытая функция взаимодействует с «file_operations» EXT3? – user19570