Методы Ext2
Многие методы виртуальной файловой системы, описанные в главе 12, имеют реализацию в Ext2. Поскольку описание их всех заняло бы целую книгу, мы ограничимся лишь кратким обзором. Разобравшись со структурами данных на диске и в памяти, читатель легко разберется и в коде функций, реализующих эти методы в Ext2.
Операции суперблока Ext2
Многие операции суперблока виртуальной файловой системы реализованы и В Ext2. Вот ИХ перечень: alloc_inode, destroy_inode, read_inode, write_inode, delete_inode, put_super, write_super, statfs, remount_fs И clear_inode. Адреса методов суперблока хранятся в массиве указателей ext2_sops.
Операции индексного дескриптора Ext2
Некоторые операции индексного дескриптора виртуальной файловой системы имеют в Ext2 специфическую реализацию, зависящую от типа файла, на который ссылается индексный дескриптор.
Операции индексного дескриптора для обычных файлов и каталогов файловой системы Ext2 приведены а назначение каждого метода В таблице отсутствуют методы, которые не определены (соответствующий указатель равен null) как для обычных файлов, так и для каталогов. Вспомним, что, если метод не определен, виртуальная файловая система либо вызывает функцию общего назначения, либо вообще ничего не предпринимает. Адреса методов Ext2 для обычных файлов и каталогов хранятся В таблицах ext2_file_inode_operations И ext2_dir_inode_operations соответственно.
Операции индексного дескриптора Ext2 для символьных ссылок (неопределенные методы опущены). Существует две группы символьных ссылок: быстрые символьные ссылки, представляющие пути, которые могут быть целиком помещены в индексные дескрипторы, и обычные символьные ссылки, представляющие более длинные пути. Поэтому существует два набора операций индексного дескриптора, хранящиеся в таблицах ext2_fast_symlink_inode_operations И ext2_symlink_inode_operations соответственно.
Если индексный дескриптор ссылается на файл символьного устройства, файл блочного устройства или именованный канал (см. разд. "FIFO-файлы " в главе 19% то операции индексного дескриптора не зависят от файловой системы. Они задаются В таблицах chrdev_inode_operations, blkdev_inode operations И fifo_inode_operations соответственно.
Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | Следующая страница