Fonction de Falllocing 2 C

Fonction de Falllocing 2 C
«La fonction Fallocation () est utilisée afin que l'appelant puisse directement modifier l'espace de disque alloué pour le fichier référencé par FD pour une portée octet commençant au décalage et optant pour des octets Len. En utilisant Fallocation, vous pouvez traiter ou pré-allocation de l'espace disque qui a été affecté à un fichier. La préallocation est terminée rapidement pour les systèmes de fichiers qui implémentent l'appel du système Fallocation en allouant des blocs et en les désignant comme non initialisés, ne nécessitant aucune IO aux blocs de données. C'est beaucoup plus rapide que de créer un fichier en y mettant tous les zéros. La fonction Fallocation () renvoie un succès de sortie de succès ou de défaillance de 0 ou 1.

Dans ce manuel, nous passerons en revue cette idée en détail et donnerons des exemples de programmes C qui utilisent la fonction «Falllocation ()». De plus, nous allons passer en revue la syntaxe de la fonction «Fallative ()» dans ce manuel et montrerons comment y envoyer des paramètres lors de la programmation en C."

Syntaxe
Ce qui suit est la syntaxe de la fonction «Falllocing ()»: vous pouvez facilement saisir les paramètres de cette fonction «Falllocation ()» dans le code C en jetant un œil à ce.

int falllocation (int fd, mode int, offSet off_t, off_t len);

L'opération à s'évanouir sur la plage particulière est déterminée par le paramètre de mode. Le Falllocation () alloue l'espace disque dans la plage spécifiée «Offset» et «Len» comme son fonctionnement par défaut (le mode est nul). Si «Offset et Len» sont plus que la plage de fichiers, la taille du fichier ajustera. Toute sous-région dans la gamme définie par «Offset» et «len» qui était vide avant l'appel aura sa valeur initiale définie sur zéro. Ce comportement par défaut, qui vise à implémenter la fonction de bibliothèque Fallocate (3) de POSIX aussi efficacement que possible, est très similaire à celle de cette fonction.

Un appel lucratif garantit que les écritures dans la gamme définie par «len» et «offset» ne seront pas infructueuses en raison de l'espace disque insuffisant.

Exemple 1

Les exemples de ce manuel utiliseront tous Ubuntu 20.04. L'installation de GCC nécessite l'exécution de quelques instructions après l'installation d'Ubuntu 20.04. L'installation du compilateur GCC nous permettra d'exécuter ce code de programmation C dans Ubuntu 20.04. Quand Ubuntu 20.04 Ce compilateur a-t-il chargé, nous ouvrons l'éditeur de texte pour le codage et commençons à saisir des lignes de code qui utiliseront la fonction «setenv ()» du langage C C.

Au début du code C, nous utilisons plusieurs fichiers d'en-tête. La seule chose que nous devons faire lors de l'écriture du code C est d'inclure les fichiers d'en-tête; Sinon, notre code C n'aura pas les fonctions dont nous avons besoin. Comme vous pouvez le vérifier dans cet échantillon, nous avons le «FCNTL. Fichier d'en-tête h ”. Ensuite, le fichier d'en-tête d'entrée et de sortie standard, «STdio.h », a été positionné sur la deuxième ligne du code. Ensuite, nous ajoutons un deuxième fichier d'en-tête, «Errno», la valeur entière Errno, qui est produite par les appels système ainsi que certaines méthodes de bibliothèque en cas d'erreur pour identifier quelque chose qui a mal tourné, est défini dans l'errno.Fichier d'en-tête H de la bibliothèque standard de programmation C.

Après cela, nous avons «String. H », qui est également un fichier d'en-tête qui comprend la déclaration de la fonction, les types ainsi que les fonctions de traitement des chaînes. Maintenant, nous avons la fonction «Main ()», et nous devons également déclarer cette fonction comme un type de données «int», nous avons donc mis cette fonction ici comme «int main ()». Nous déclarons ensuite une variable «FD» du type de données «int» et placons ici la fonction «Open ()». Nous utilisons cette fonction «Open ()» qui est utilisée pour lire, écrire ou ouvrir le fichier pour les deux.

Lorsque vous ne travaillez pas dans le même répertoire que le fichier, utilisez un chemin absolu qui commence par «/ /». Lorsque vous travaillez dans le même répertoire que le fichier, utilisez un chemin relatif, qui se compose uniquement du nom de fichier et de son extension. Ici, le «0_wronly» signifie que nous ouvrons le fichier pour écrire uniquement, et le «O_Creat» est utilisé pour recevoir un avertissement si le fichier est déjà présent. Le S_irusr est une constante globale trouvée dans le POSIX SYS / STAT. h File. Le bit d'autorisation de lecture de l'utilisateur est ce qu'il s'appelle. Le préfixe S_ pourrait signifier «statut de», «RUSR» ou «Lire de l'utilisateur». Ensuite, nous avons "S_IWUSR".

Pour le propriétaire du fichier, définissez le bit d'autorisation d'écriture. Ci-dessous, nous avons la condition «IF», ​​et nous plaçons la condition que «FD» est égal à «-1». Si la condition est vraie, alors la fonction «perror ()» est utilisée. Ce «Perror» est utilisé pour imprimer le message d'erreur à Stderr. Ensuite, nous déclarons à nouveau et initialisons la variable «int» nommée «statut» et placez ici la fonction «POSIX_FALFOCOLOCE» et passons trois paramètres. Le «FD» est le premier paramètre, «0» est utilisé comme deuxième paramètre, puis nous avons «100» comme troisième paramètre de cette fonction «Fallative».

En dessous de cette condition de l'énoncé «IF», ​​c'est «statut! = 0 ”. Si c'est vrai, l'instruction «printf» sera exécutée pour imprimer l'erreur à l'écran, et nous avons également le «retour 0» à la fin de ce code.

Conclusion

Ce manuel montre comment utiliser la fonction de programmation C «Falllocation ()». La fonction «Falllocation ()» a été entièrement décrite ici, ainsi que des exemples de comment l'utiliser dans la programmation C. Pour vous aider à comprendre comment utiliser la fonction C «Fallocation ()» et comment il renvoie le résultat, nous avons également inclus l'exemple de code. Comme cela a déjà été expliqué, la méthode «Falllocate ()» en programmation C est utilisée afin que l'appelant puisse directement modifier l'espace disque alloué pour le fichier référencé par FD pour une gamme octet commençant à décaler et aller pour les octets Len. Nous avons également parlé du fait que certains paramètres doivent être transmis à la fonction «Falllocation ()». Nous prévoyons que ce manuel vous aidera à comprendre les fonctions de programmation C, et vous pourrez le faire par vous-même.