Пространство XFS заполнено, а также заполнен индексный узел? Как такое могло произойти?

На современном 64 -битном x86 Linux?

Да. Он вызывает kmap()или kmap_atomic(), но на x86 -64 они всегда будут использовать сопоставление идентификаторов. x86 -32 имеет специальное определение, но я думаю, что x86 -64 использует общее определение в include/linux/highmem.h .

И да, для сопоставления личных данных используются огромные страницы размером 1 ГБ.

Статья LWN, в которой упоминается kmap _atomic .

Я нашел kmap _atomic (), посмотрев код PIO . [*]

Наконец, при чтении ()/записи ()копировать данные из/в страничный кеш:

общий _файл _буферизованный _чтение-> копирование _страница _в _iter-> kmap _атомный ()снова.


[ *] Я посмотрел на PIO, потому что понял, что при выполнении DMA в/из кэша страниц ядро ​​может избежать использования любого отображения. Ядро может просто разрешить физический адрес и передать его оборудованию :-). (В соответствии с IOMMU ). Хотя ядру потребуется сопоставление, если оно хочет сначала вычислить контрольную сумму или зашифровать данные.

0
01.07.2020, 18:21
1 ответ

«Иноды в XFS распределяются динамически, что означает, что, в отличие от многих других файловых систем Linux, их расположение и количество не определяются во время mkfs».

Ваши 53 000 файлов съели все свободное пространство, не оставив места для новых инодов.

0
18.03.2021, 23:22

Теги

Похожие вопросы