Операции с элементами каталогов
Операции с элементами каталогов
Структура dentry_operations содержит методы, которые подсистема VFS может вызывать для элементов каталогов определенной файловой системы. Эта структура определена в файле <linux/dcache.h> следующим образом.
struct dentry_operations {
int (*d_revalidate)(struct dentry*, int);
int (*d_hash)(struct dentry*, struct qstr*);
int (*d_compare)(struct dentry*, struct qstr*, struct qstr*);
int (*d_delete)(struct dentry*);
void (*d_release)(struct dentry*);
void (*d_iput)(struct dentry*, struct inode*);
};
Методы служат для следующих целей
• int d_revalidate(struct dentry *dentry, int flags);
Эта функция определяет, является ли указанный объект элемента каталога действительным. Подсистема VFS вызывает эту функцию, когда она пытается использовать объект dentry из кэша dcache. Для большинства файловых систем этот метод установлен в значение NULL, потому что объекты dentry, которые находятся в кэше, всегда действительны.
• int d_hash(struct dentry *dentry, struct qstr *name);
Эта функция создает значение хеш-ключа на основании указанного объекта dentry. Подсистема VFS вызывает эту функцию всякий раз, когда добавляет объект элемента каталога в хеш-таблицу.
• int d_compare(struct dentry *dentry,
struct qstr *name1, struct qstr *name2);
Эта функция вызывается подсистемой VFS для сравнения двух имен файлов name1 и name2. Большинство файловых систем используют умолчание VFS, которое соответствует простому сравнению двух строк. Для некоторых файловых систем, таких как FAT, не достаточно простого сравнения строк. Файловая система FAT не чувствительна к регистру символов в именах файлов, поэтому появляется необходимость в реализации функции, которая при сравнении не учитывает регистр символов. Эта функция вызывается при захваченной блокировке dcache_lock[73].
• int d_delete(struct dentry *dentry);
Эта функция вызывается подсистемой VFS, когда количество ссылок d_count указанного объекта dentry становится равным пулю. Функция вызывается при захваченной блокировке dcache_lock.
• void d_release(struct dentry *dentry);
Эта функция вызывается подсистемой VFS, когда она собирается освободить указанный объект dentry. По умолчанию данная функция не выполняет никаких действий.
• void d_iput(struct dentry *dentry, struct inode *inode);
Эта функция вызывается подсистемой VFS, когда элемент каталога теряет связь со своим файловым индексом (например, когда этот элемент каталога удаляется с диска). По умолчанию подсистема VFS просто вызывает функцию iput(), чтобы освободить соответствующий объект inode. Если файловая система переопределяет эту функцию, то она также должна вызывать функцию iput() в дополнение к специфичной для файловой системы работе.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Работа с элементами XSLT
Работа с элементами XSLT Для того чтобы создавать таблицы стилей XSLT, вы должны хорошо знать элементы XSLT, такие как <xsl:template> и <xsl:stylesheet>. Эти элементы поддерживают большое число атрибутов, и W3C выработал ряд формальных определений типов данных, которые можно присваивать
Обработка событий, генерируемых элементами управления формы
Обработка событий, генерируемых элементами управления формы В нашем сценарии мы будем обрабатывать события, связанные с нажатием на кнопки в форме и с изменением текста в полях ввода. Для этого нужно, во-первых, получить ссылку на соответствующий элемент управления в
Работа с элементами управления
Работа с элементами управления Толку от Web-формы немного, если вводимые в ней данные никак не обрабатываются. Поскольку мы занимаемся исключительно клиентскими интернет-технологиями, обрабатывать данные мы будем в Web-сценариях.А чтобы обработать в Web-сценариях данные,
Работа с элементами управления
Работа с элементами управления Толку от Web-формы немного, если вводимые в ней данные никак не обрабатываются. Поскольку мы занимаемся исключительно клиентскими интернет-технологиями, обрабатывать данные мы будем в Web-сценариях.А чтобы обработать в Web-сценариях данные,
1.1.2. Упражнения по работе с элементами схемы
1.1.2. Упражнения по работе с элементами схемы Шаг 9 Маркируйте другой резистор, щелкнув по нему мышью. Убедитесь, что удерживая нажатой левую кнопку мыши, элемент можно перемещать по поверхности рабочего листа.Шаг 10 Теперь удалите все резисторы и, чтобы поупражняться,
Работа с элементами управления окна
Работа с элементами управления окна Точно так же как и в обычных формах VBA, элементы управления в окне Помощника предоставляют пользователю возможность взаимодействия с программой. Окно Помощника может содержать элементы управления трех типов: флажки, надписи (могут
Дополнительно о работе с элементами управления
Дополнительно о работе с элементами управления В главе 10 вы познакомились с наиболее важными элементами управления и их использованием. В настоящем разделе я дам вам дополнительные советы о работе с отдельными типами элементами управления, а также расскажу об элементах
81. Предпочитайте операции с диапазонами операциям с отдельными элементами
81. Предпочитайте операции с диапазонами операциям с отдельными элементами РезюмеПри добавлении элементов в контейнер лучше использовать операции с диапазонами (т.е. функцию insert, которая получает пару итераторов), а не последовательность вызовов функции для вставки
Работа с базовыми элементами управления
Работа с базовыми элементами управления Пространство имен System.Windows.Forms определяет множество "базовых элементов управления", которые можно видеть во многих типичных окнах (это кнопки, надписи, текстовые окна, переключатели и т.д.). Вы, наверное, уже знаете об основных
Работа с другими элементами управления
Работа с другими элементами управления Итак, мы с вами выяснили, как работать большинством базовых элементов управления Windows Forms (Label, TextBox, и т.д.). Следующей задачей будет рассмотрение элементов графического интерфейса, обладающих более сложными функциональными
6.12.1. Определение объекта map и заполнение его элементами
6.12.1. Определение объекта map и заполнение его элементами Чтобы определить объект класса map, мы должны указать, как минимум, типы ключа и значения. Например:mapstring,int word_count;Здесь задается объект word_count типа map, для которого ключом служит объект типа string, а ассоциированным с ним
2.3. Окно с элементами управления
2.3. Окно с элементами управления После того как мы рассмотрели создание простейшего окна, самое время позаботиться о его наполнении элементами управления. Для стандартных элементов управления в системе уже зарегистрированы классы окон. Их перечень следующий:• BUTTON –
4.8. Изображение плоской детали с элементами скруглений
4.8. Изображение плоской детали с элементами скруглений Система КОМПАС-3В LT предоставляет пользователю мощные средства для выполнения геометрических построений.Вспомогательная прямая может быть построена девятью способами, отрезок и окружность — шестью. При
Письма с элементами графики и вложениями
Письма с элементами графики и вложениями До сих пор речь шла о письмах с чисто текстовым содержимым. Однако технологии электронной почты позволяют пересылать в письмах изображения (элементы графики), а также обмениваться файлами и употреблять форматированный