Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/03/2010, à 20:58

funkalee

[Résolu]La taille maximum pour un pathname

Bonjour/Bonsoir
je recherche la taille maximum géré par le système pour un pathname (/home/user/parci/parla),éventuellement comment récupérer cette valeur.

Dernière modification par funkalee (Le 30/03/2010, à 11:26)

Hors ligne

#2 Le 29/03/2010, à 21:48

AlexandreP

Re : [Résolu]La taille maximum pour un pathname

Il ne semble pas y avoir de limite de caractères pour un chemin absolu. Si tu regardes le document comparant les systèmes de fichiers dans Wikipedia, tu verras toutefois des limitations sur la taille des noms de fichiers.


«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.

Hors ligne

#3 Le 29/03/2010, à 22:01

grim7reaper

Re : [Résolu]La taille maximum pour un pathname

Si tu codes en C c'est définit dans limits.h (chez moi il est dans /usr/include/linux) sous le nom de PATH_MAX.

Chez moi j'ai ça :

#define PATH_MAX        4096    /* # chars in a path name including nul */

Enfin, je ne pense pas que cette restriction soit limité au C, mais à vérifier...

Dernière modification par grim7reaper (Le 29/03/2010, à 22:02)

Hors ligne

#4 Le 30/03/2010, à 09:20

Link31

Re : [Résolu]La taille maximum pour un pathname

grim7reaper a écrit :

Enfin, je ne pense pas que cette restriction soit limité au C, mais à vérifier...

C'est une limitation au niveau du noyau lui-même :

/usr/src/linux/include/linux/limits.h

#define NR_OPEN	        1024

#define NGROUPS_MAX    65536	/* supplemental group IDs are available */
#define ARG_MAX       131072	/* # bytes of args + environ for exec() */
#define LINK_MAX         127	/* # links a file may have */
#define MAX_CANON        255	/* size of the canonical input queue */
#define MAX_INPUT        255	/* size of the type-ahead buffer */
#define NAME_MAX         255	/* # chars in a file name */
#define PATH_MAX        4096	/* # chars in a path name including nul */
#define PIPE_BUF        4096	/* # bytes in atomic write to a pipe */
#define XATTR_NAME_MAX   255	/* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536	/* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536	/* size of extended attribute namelist (64k) */

#define RTSIG_MAX	  32

Hors ligne

#5 Le 30/03/2010, à 10:52

funkalee

Re : [Résolu]La taille maximum pour un pathname

je code en java, donc pour la taille du nom d'un fichier dépassé les 245 caractères ça pose un problème pour les manipulations genre destruction à partir de gnome(à la souris) il m'envoie un message du genre le nom est trop long le fichier sera directement détruit sans passer par la case corbeille.

Impossible de créer le fichier d'informations de mise à la corbeille : Nom de fichier trop long

Donc en faites la recherche de la taille max du pathname c'est pour coder une base de données de mes fichiers donc je cherche à définir une valeur max pour le champs path, en ce qui concerne le champ name di fichier j'ai fixé à 240 la taille de mon varchar.
Mon disque ou se trouve mes données est en ext4, et d'apres l'article de wiki le pathname n'as pas de limite défini mais 4096 quand même.

structures have no inherent limit. Particular Installable File System drivers and operating systems may impose limits of their own, however. MS-DOS does not support full pathnames longer than 260 bytes for FAT12 and FAT16. Windows NT does not support full pathnames longer than 32,767 bytes for NTFS. Linux has a pathname limit of 4,096.

chez moi limit.h il est la :

/usr/src/linux-headers-2.6.31-20-generic/include/linux/limits.h

#ifndef _LINUX_LIMITS_H
#define _LINUX_LIMITS_H

#define NR_OPEN	        1024

#define NGROUPS_MAX    65536	/* supplemental group IDs are available */
#define ARG_MAX       131072	/* # bytes of args + environ for exec() */
#define LINK_MAX         127	/* # links a file may have */
#define MAX_CANON        255	/* size of the canonical input queue */
#define MAX_INPUT        255	/* size of the type-ahead buffer */
#define NAME_MAX         255	/* # chars in a file name */
#define PATH_MAX        4096	/* # chars in a path name including nul */
#define PIPE_BUF        4096	/* # bytes in atomic write to a pipe */
#define XATTR_NAME_MAX   255	/* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536	/* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536	/* size of extended attribute namelist (64k) */

#define RTSIG_MAX	  32

#endif

Résumons :
la taille max pour un nom de fichier est 255, mais passé 245 gnome commence à mal gérer
la taille max pour le pathname c'est 4096, mais je crains que gnome montre ses limites avant après ça serait intéressant de dénicher ou se trouve les déclarations des limites de gnome.

Dernière modification par funkalee (Le 30/03/2010, à 11:37)

Hors ligne