| statvfs(3) | Library Functions Manual | statvfs(3) |
statvfs, fstatvfs - obține statistici ale sistemului de fișiere
Biblioteca C standard (libc, -lc)
#include <sys/statvfs.h>
int statvfs(const char *restrict path, struct statvfs *restrict buf); int fstatvfs(int fd, struct statvfs *buf);
Funcția statvfs() returnează informații despre un sistem de fișiere montat. path este numele rutei oricărui fișier din sistemul de fișiere montat. buf este un indicator către o structură statvfs definită aproximativ după cum urmează:
struct statvfs {
unsigned long f_bsize; /* Dimensiunea blocului sistemului de fișiere */
unsigned long f_frsize; /* Dimensiunea fragmentului */
fsblkcnt_t f_blocks; /* Dimensiunea sistemului de fișiere
în unități f_frsize */
fsblkcnt_t f_bfree; /* Numărul de blocuri libere */
fsblkcnt_t f_bavail; /* Numărul de blocuri libere pentru
utilizatorii neprivilegiați */
fsfilcnt_t f_files; /* Numărul de noduri-i */
fsfilcnt_t f_ffree; /* Numărul de noduri-i libere */
fsfilcnt_t f_favail; /* Numărul de noduri-i libere pentru
utilizatorii neprivilegiați */
unsigned long f_fsid; /* ID-ul sistemului de fișiere */
unsigned long f_flag; /* Fanioane de montare */
unsigned long f_namemax; /* Lungimea maximă a numelui de fișier */
};
Aici tipurile fsblkcnt_t și fsfilcnt_t sunt definite în <sys/types.h>. Ambele erau anterior unsigned long.
Câmpul f_flag este o mască de biți care indică diverse opțiuni care au fost utilizate la montarea acestui sistem de fișiere. Acesta conține zero sau mai multe dintre următoarele fanioane:
Nu este specificat dacă toți membrii structurii returnate au valori semnificative pe toate sistemele de fișiere.
fstatvfs() returnează aceleași informații despre un fișier deschis la care se face referire prin descriptorul fd.
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
| Interfață | Atribut | Valoare |
| statvfs(), fstatvfs() | Siguranța firelor | MT-Safe |
Numai fanioanele ST_NOSUID și ST_RDONLY ale câmpului f_flag sunt specificate în POSIX.1. Pentru a obține definițiile celorlalte fanioane, trebuie definit _GNU_SOURCE.
Nucleul Linux are apelurile de sistem statfs(2) și fstatfs(2) pentru a utiliza acest apel de bibliotecă.
Implementările glibc ale
pathconf(path, _PC_REC_XFER_ALIGN); pathconf(path, _PC_ALLOC_SIZE_MIN); pathconf(path, _PC_REC_MIN_XFER_SIZE);
utilizează câmpurile f_frsize, f_frsize și f_bsize returnate printr-un apel către statvfs() cu argumentul path.
În Linux, f_favail este întotdeauna același cu f_ffree și nu există nicio modalitate prin care un sistem de fișiere să raporteze contrariul. Aceasta nu este o problemă, deoarece nu există sisteme de fișiere cu o rezervare a nodului-i rădăcină.
POSIX.1-2008.
POSIX.1-2001.
Înainte de glibc 2.13, statvfs() a completat biții câmpului f_flag prin scanarea opțiunilor de montare prezentate în /proc/mounts. Cu toate acestea, începând cu Linux 2.6.36, apelul de sistem subiacent statfs(2) furnizează informațiile necesare prin intermediul câmpului f_flags, iar de la glibc 2.13, funcția statvfs() va utiliza informațiile din acest câmp în loc să scaneze /proc/mounts.
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
| 2 mai 2024 | Pagini de manual de Linux 6.9.1 |