Ca veut dire quoi une interface commune pour des filesystems ?
Il manque un mot. Il s'agit de la création d'une interface commune pour la journalisation des systèmes de fichier.
Aujourd'hui, pour tout les systèmes de fichier, il y a UN appel pour chaque fonction, qui répartie après suivant le type de système, après avoir fait les choses possible pour tous les types de fichier. Exemple con (et sans doute faux dans son fonctionnement réel, mais c'est pour expliquer) : ln
Tu tente de faire un ln sur un system FAT32. L'interface commune est appellée, il vérifie que l'utilisateur a les droits d'écriture sur la cible, que la source existe, etc. Tout cela n'est pas dépendant du système de fichier sous-jacent, donc est fait par une couche commune (appelée vfat d'ailleurs, mais rien a voir avec le vfat que l'on met dans /etc/fstab). Ensuite, pour la création physique du ln, cela est fait par une fonction spécifique du FileSystem. Dans le cas d'un fat32, on peut physiquement pas, donc elle renvoi toujours false, donc l'erreur est remontée.
Maintenant pour les systèmes de fichier journalisé, il y a des idées communes. On peut supposer que tous ont des choses comme register_metada_in_journal. Mais aujourd'hui, tout est dupliqué pour chaque système de fichier. Le but est donc de recréer une couche (comme la vfat, et qui va sans doute finir dans la vfat), capable de s'occuper de ce qui est commun à chaque système journalisé, avant de passer a la couche du dessous. Cela diminuera les duplications de code, et allègera un poil le noyau.
[^] # Re: question (avec indice pour ceux qui nous regardent)
Posté par kadreg . En réponse à la dépêche Les promesses du noyau 2.5. Évalué à 10.
Il manque un mot. Il s'agit de la création d'une interface commune pour la journalisation des systèmes de fichier.
Aujourd'hui, pour tout les systèmes de fichier, il y a UN appel pour chaque fonction, qui répartie après suivant le type de système, après avoir fait les choses possible pour tous les types de fichier. Exemple con (et sans doute faux dans son fonctionnement réel, mais c'est pour expliquer) : ln
Tu tente de faire un ln sur un system FAT32. L'interface commune est appellée, il vérifie que l'utilisateur a les droits d'écriture sur la cible, que la source existe, etc. Tout cela n'est pas dépendant du système de fichier sous-jacent, donc est fait par une couche commune (appelée vfat d'ailleurs, mais rien a voir avec le vfat que l'on met dans /etc/fstab). Ensuite, pour la création physique du ln, cela est fait par une fonction spécifique du FileSystem. Dans le cas d'un fat32, on peut physiquement pas, donc elle renvoi toujours false, donc l'erreur est remontée.
Maintenant pour les systèmes de fichier journalisé, il y a des idées communes. On peut supposer que tous ont des choses comme register_metada_in_journal. Mais aujourd'hui, tout est dupliqué pour chaque système de fichier. Le but est donc de recréer une couche (comme la vfat, et qui va sans doute finir dans la vfat), capable de s'occuper de ce qui est commun à chaque système journalisé, avant de passer a la couche du dessous. Cela diminuera les duplications de code, et allègera un poil le noyau.