statvfs(3) Library Functions Manual statvfs(3) NUME statvfs, fstatvfs - obine statistici ale sistemului de fiiere BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include int statvfs(const char *restrict path, struct statvfs *restrict buf); int fstatvfs(int fd, struct statvfs *buf); DESCRIERE Funcia statvfs() returneaza informaii despre un sistem de fiiere montat. path este numele rutei oricarui fiier din sistemul de fiiere montat. buf este un indicator catre o structura statvfs definita aproximativ dupa cum urmeaza: struct statvfs { unsigned long f_bsize; /* Dimensiunea blocului sistemului de fiiere */ unsigned long f_frsize; /* Dimensiunea fragmentului */ fsblkcnt_t f_blocks; /* Dimensiunea sistemului de fiiere in unitai f_frsize */ fsblkcnt_t f_bfree; /* Numarul de blocuri libere */ fsblkcnt_t f_bavail; /* Numarul de blocuri libere pentru utilizatorii neprivilegiai */ fsfilcnt_t f_files; /* Numarul de noduri-i */ fsfilcnt_t f_ffree; /* Numarul de noduri-i libere */ fsfilcnt_t f_favail; /* Numarul de noduri-i libere pentru utilizatorii neprivilegiai */ unsigned long f_fsid; /* ID-ul sistemului de fiiere */ unsigned long f_flag; /* Fanioane de montare */ unsigned long f_namemax; /* Lungimea maxima a numelui de fiier */ }; Aici tipurile fsblkcnt_t i fsfilcnt_t sunt definite in . Ambele erau anterior unsigned long. Campul f_flag este o masca de bii care indica diverse opiuni care au fost utilizate la montarea acestui sistem de fiiere. Acesta conine zero sau mai multe dintre urmatoarele fanioane: ST_MANDLOCK Blocarea obligatorie este permisa pe sistemul de fiiere (a se vedea fcntl(2)). ST_NOATIME Nu se actualizeaza timpii de acces; a se vedea mount(2). ST_NODEV Interzice accesul la fiierele speciale ale dispozitivului pe acest sistem de fiiere. ST_NODIRATIME Nu actualizeaza timpii de acces la directoare; a se vedea mount(2). ST_NOEXEC Execuia de programe nu este permisa pe acest sistem de fiiere. ST_NOSUID Biii set-user-ID i set-group-ID sunt ignorai de exec(3) pentru fiierele executabile de pe acest sistem de fiiere ST_RDONLY Acest sistem de fiiere este montat numai-pentru-citire. ST_RELATIME Actualizeaza atime in raport cu mtime/ctime; a se vedea mount(2). ST_SYNCHRONOUS Scrierile sunt sincronizate cu sistemul de fiiere imediat (a se vedea descrierea lui O_SYNC in open(2)). Nu este specificat daca toi membrii structurii returnate au valori semnificative pe toate sistemele de fiiere. fstatvfs() returneaza aceleai informaii despre un fiier deschis la care se face referire prin descriptorul fd. VALOAREA RETURNATA In caz de succes, se returneaza zero. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EACCES (statvfs()) Permisiunea de cautare este refuzata pentru o componenta a prefixului rutei path; (a se vedea i path_resolution(7)). EBADF (fstatvfs()) fd nu este un descriptor de fiier deschis valid. EFAULT Buf sau path indica o adresa nevalida. EINTR Acest apel a fost intrerupt de un semnal; a se vedea signal(7). EIO A aparut o eroare de In/Ie in timpul citirii din sistemul de fiiere. ELOOP (statvfs()) Prea multe legaturi simbolice au fost intalnite in traducerea path. ENAMETOOLONG (statvfs()) Ruta path este prea lunga. ENOENT (statvfs()) Fiierul menionat de path nu exista. ENOMEM Nu a fost disponibila suficienta memorie pentru nucleu. ENOSYS Sistemul de fiiere nu accepta acest apel. ENOTDIR (statvfs()) O componenta a prefixului rutei path nu este un director. EOVERFLOW Unele valori erau prea mari pentru a fi reprezentate in structura returnata. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |statvfs(), fstatvfs() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ VERSIUNI Numai fanioanele ST_NOSUID i ST_RDONLY ale campului f_flag sunt specificate in POSIX.1. Pentru a obine definiiile celorlalte fanioane, trebuie definit _GNU_SOURCE. NOTE Nucleul Linux are apelurile de sistem statfs(2) i fstatfs(2) pentru a utiliza acest apel de biblioteca. Implementarile glibc ale pathconf(path, _PC_REC_XFER_ALIGN); pathconf(path, _PC_ALLOC_SIZE_MIN); pathconf(path, _PC_REC_MIN_XFER_SIZE); utilizeaza campurile f_frsize, f_frsize i f_bsize returnate printr-un apel catre statvfs() cu argumentul path. In Linux, f_favail este intotdeauna acelai cu f_ffree i nu exista nicio modalitate prin care un sistem de fiiere sa raporteze contrariul. Aceasta nu este o problema, deoarece nu exista sisteme de fiiere cu o rezervare a nodului-i radacina. STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. Inainte de glibc 2.13, statvfs() a completat biii campului f_flag prin scanarea opiunilor de montare prezentate in /proc/mounts. Cu toate acestea, incepand cu Linux 2.6.36, apelul de sistem subiacent statfs(2) furnizeaza informaiile necesare prin intermediul campului f_flags, iar de la glibc 2.13, funcia statvfs() va utiliza informaiile din acest camp in loc sa scaneze /proc/mounts. CONSULTAI I statfs(2) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.12 23 iulie 2024 statvfs(3)