Тестирование файловых систем Linux

Проект Linux File System Verification (Spruce) нацелен на разработку систематического набора тестов для реализаций файловых систем Linux. Набор содержит тесты, работающие в пространстве ядра и проверяющие поведение всех доступных интерфейсов драйвера файловой системы (syscall, ioctls, sysfs) при различном наборе опций создания и монтирования файловой системы. В дополнение к этому Spuce использует вспомогательные модули ядра, предназначенные для симуляции дополнительных тестовых ситуаций, таких как нехватка ресурсов, сбои ввода-вывод и др.

В настоящее время Spruce проверяет работу следующих файловых систем: ext4, jfs, xfs, btrfs, f2fs, jffs2.

Проблемы, обнаруженные в файловых системах при помощи Spruce представлены в следующей таблице.

НомерТипКраткое описаниеДобавленоПринятоСтатус
F0011 Падение ext4: Повреждение файловой системы, примонтированой с резервным суперблоком, при попытке изменения её размера 2014-12-27 http://www.spinics.net/lists/linux-ext4/msg46743.html
commit
Исправлено в 3.19-rc4
F0010 Падение f2fs: Возможное использование после освобождения при размонтировании файловой системы 2014-07-25 https://lkml.org/lkml/2014/7/21/198
commit
Исправлено в 3.17-rc1
F0009 Падение ext4: Удаление ext4_groupinfo_caches во время монтирования вызывает BUG_ON для других примонтированных файловых систем ext4 2014-05-12 https://lkml.org/lkml/2014/5/12/147
commit
Исправлено в 3.16-rc1
F0008 Падение f2fs: В функции recover_inode_page() срабатывает BUG_ON, когда монтируется корректная файловая система 2014-04-18 https://lkml.org/lkml/2014/4/14/189
commit
Исправлено в ядре 3.17-rc1
F0007 Падение f2fs: падение в umount, если в процессе системного вызова mkdir сбоит функция f2fs_init_acl() 2014-02-17 https://lkml.org/lkml/2014/2/6/18
commit
Исправлено в kernel 3.15-rc1
F0006 Блокировка f2fs: взаимная блокировка в mkdir при активированном ACL 2013-10-28 https://lkml.org/lkml/2013/10/26/163
commit
Исправлено в kernel 3.12-rc3
F0005 Падение ext4: зависание системы ввиду некорректной обработки нехватки памяти в ext4_mb_new_preallocation() 2013-07-01 https://lkml.org/lkml/2013/5/5/64
commit
Исправлено в kernel 3.10-rc3
F0004 Блокировка ext4: взаимная блокировка после нехватки памяти в ext4_init_io_end() 2013-06-04 https://lkml.org/lkml/2013/5/13/426
commit
Исправлено в kernel 3.10-rc3
F0003 Падение jfs: ошибки в jfs_freeze() и jfs_unfreeze() 2013-05-24 https://lkml.org/lkml/2013/5/24/76
commit
Исправлено в kernel 3.10-rc3
F0002 Падение ext4: разыменование нулевого указателя в ext4_calculate_overhead() 2012-11-28 https://lkml.org/lkml/2012/11/28/354
commit
Исправлено в kernel 3.8-rc1
F0001 Падение ext4: падение в mount_fs() из-за нулевого вердикта ext4_fill_super() в случае ошибки 2012-11-08 https://bugzilla.kernel.org/show_bug.cgi?id=48431
commit
Исправлено в kernel 3.8-rc1

Кликните на номер замечания для просмотра подробных сведений. Кликните на заголовке для сортировки списка по указанному столбцу.