Il y a quelques années de cela, je m’étais penché sur les différents systèmes de fichiers existants sous Linux. J’avais retenu XFS pour deux points:
- il était largement plus performant avec un noyau 2.6 que le système plus traditionnel ext3
- il proposait de base les ACL (alors qu’il fallait à l’époque patcher son noyau pour pouvoir en disposer sur l’ext3).
J’avais rejeté reiserfs et jfs que je trouvais trop confidentiels.
Le site Debian Administration a publié un article complet sur les comparaisons des systèmes de fichiers existants. Il présente de manière bien plus complète que ce billet les avantages / inconvéniants de chacun.
Cela fait plusieurs fois que j’ai vu des systèmes de fichiers XFS se corrompre (jusque là, j’ai toujours récupéré la situation avec des xfs_repair), mais il y a quelques jours, j’ai vu avec stupéfaction dans mes logs d’un serveur un production :
Filesystem "sdb1": XFS internal error xfs_da_do_buf(2) at line 2273 of file fs/xfs/xfs_da_btree.c. Caller 0xf8a989e8 []() xfs_da_do_buf+0x3d8/0x920 [xfs](xfs) []() xfs_da_read_buf+0x58/0x60 [xfs](xfs) []() xfs_da_read_buf+0x58/0x60 [xfs](xfs) []() xfs_itobp+0x114/0x260 [xfs](xfs) []() xfs_da_read_buf+0x58/0x60 [xfs](xfs) []() xfs_dir2_block_getdents+0xad/0x360 [xfs](xfs) []() xfs_dir2_block_getdents+0xad/0x360 [xfs](xfs) []() xfs_access+0x4f/0x60 [xfs](xfs) []() xfs_access+0x4f/0x60 [xfs](xfs) []() xfs_bmap_last_offset+0xc5/0x130 [xfs](xfs) []() xfs_dir2_put_dirent64_direct+0x0/0xa0 [xfs](xfs) []() xfs_dir2_isblock+0x30/0x80 [xfs](xfs) []() xfs_dir2_put_dirent64_direct+0x0/0xa0 [xfs](xfs) []() xfs_dir2_getdents+0xb9/0x160 [xfs](xfs) []() xfs_dir2_put_dirent64_direct+0x0/0xa0 [xfs](xfs) []() xfs_readdir+0x60/0xc0 [xfs](xfs) []() linvfs_readdir+0x116/0x230 [xfs](xfs) []() vfs_readdir+0xa7/0xc0 []() filldir64+0x0/0x100 []() sys_getdents64+0x6e/0xaa []() filldir64+0x0/0x100 []() syscall_call+0x7/0xb
Pourtant, la machine n’avait pas rebooté violemment, rien de spécial à signaler. XFS est un système de fichier capable de se corompre en fonctionnement “normal” ! Problème similaire sur un portable où c’était la partition racine qui était concernée et où xfs_repair n’a pas été en mesure de réparer : il a fallu reformater et donc réinstaller !
Je ne suis pas le seul à avoir ce genre de considérations. Cet été, Martin f. Krafft a publié un billet sur son blog où il expliquait ses problèmes avec XFS.
Cela étant, maintenant, je crois que pour moi, ça sera de l’ext3 partout !
