Будь короткотривалі файли записуються на диск чи ні, залежить не тільки від поведінки кешу файлу ядра за замовчуванням, але і від деталей реалізації драйвера файлової системи та параметрів монтажу зазначеної файлової системи. Можна налаштувати систему таким чином, що все завжди буде негайно записано на диск (по суті, DOS-подібне поведінка).
Однією з файлових систем, що характеризується поведінкою, яка вас зацікавила (так зване "відкладене розподілення"), є XFS. З його допомогою ви можете бути більш-менш впевнені (якщо не бути смішними параметрами конфігурації в іншому місці), що блоки, що належать тільки що видаленим файлам, будуть повторно використані в пам'яті без проміжного доступу до диска. XFS все ще може оновити свій журнал метаданих (який буде записуватися на диск досить часто; проте, враховуючи, що журнал XFS є лише метаданими, він досить малий, щоб його встановити на якомусь іншому, швидкому пристрої, наприклад, знайденій операційній пам'яті, що підтримується акумулятором. на багатьох контролерах RAID).
Через таку поведінку нечасто знайти абсолютно нульові, але в іншому випадку легально шукати файли (розмір та інші метадані недоторкані) у файловій системі XFS після раптового переривання живлення. Такі кошти на підтримку швидких "напівчасових" файлових операцій.
Деяка теорія
Взагалі системний виклик, що здійснює доступ до файлової системи, закінчується досить швидко, визначеним драйвером файлової системи (додається до "struct inode_operations" та "struct file_operations", коли драйвер VFS зареєстрований). Що після цього залишається виключно на розсуд щодо реалізації файлової системи. Зазвичай використовується щось, що нагадує такий підхід (цей простий приклад - з драйвера FAT Linux):
if (IS_DIRSYNC(dir))
(void)fat_sync_inode(dir);
else
mark_inode_dirty(dir);
Якщо файлова система встановлена в режимі «синхронізації», всі зміни негайно переходять на диск (через fat_sync_inode () у цьому випадку). В іншому випадку блок позначається як "брудний" і залишається в кеш-пам'яті до тих пір, поки не змиється за певної розумної можливості.
Таким чином, неможливо передбачити поведінку системи щодо перехідних файлів, не враховуючи параметри кріплення файлової системи та не перевіряючи вихідний код її реалізації (це, звичайно, стосується в основному всіх видів екзотичних файлових систем, що знаходяться в основному у вбудованому просторі) .