.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sync_file_range 2 "17 mai 2025" "Pagini de manual de Linux 6.15" .SH NUME sync_file_range \- sincronizează un segment de fișier cu discul .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#define _GNU_SOURCE\fP /* Consultați feature_test_macros(7) */ \fB#define _FILE_OFFSET_BITS 64\fP \fB#include \fP .P \fBint sync_file_range(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, off_t \fP\fInbytes\fP\fB,\fP \fB unsigned int \fP\fIflags\fP\fB);\fP .fi .SH DESCRIERE \fBsync_file_range\fP() permite un control precis la sincronizarea fișierului deschis la care se referă descriptorul de fișier \fIfd\fP cu discul. .P \fIoffset\fP este octetul de început al intervalului de fișiere care urmează să fie sincronizat. \fInbytes\fP specifică lungimea intervalului care urmează să fie sincronizat, în octeți; dacă \fInbytes\fP este zero, atunci toți octeții de la \fIoffset\fP până la sfârșitul fișierului sunt sincronizați. Sincronizarea se face în unități de dimensiune a paginii de sistem: \fIoffset\fP este rotunjit în jos la limita paginii; \fI(offset+nbytes\-1)\fP este rotunjit în sus la limita paginii. .P Argumentul mască de biți \fIflags\fP poate include oricare dintre următoarele valori: .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE\fP Așteaptă scrierea tuturor paginilor din intervalul specificat care au fost deja trimise controlorului dispozitivului pentru scriere înainte de a efectua orice operație de scriere. .TP \fBSYNC_FILE_RANGE_WRITE\fP Inițiază scrierea tuturor paginilor murdare din intervalul specificat care nu sunt în prezent trimise pentru scriere. Rețineți că chiar și acest lucru poate bloca dacă încercați să scrieți mai mult decât dimensiunea cozii de solicitări. .TP \fBSYNC_FILE_RANGE_WAIT_AFTER\fP Așteaptă scrierea tuturor paginilor din interval după efectuarea oricărei operații de scriere. .P Specificarea \fIflags\fP ca 0 este permisă, ca o operație fără efect. .SS Atenție Acest apel de sistem este extrem de periculos și nu trebuie utilizat în programe portabile. Niciuna dintre aceste operații nu scrie metadatele fișierului. Prin urmare, cu excepția cazului în care aplicația efectuează strict suprascrieri ale blocurilor de disc deja instanțiate, nu există garanții că datele vor fi disponibile după o blocare. Nu există o interfață de utilizator care să indice dacă o scriere este pur și simplu o suprascriere. Pe sistemele de fișiere care utilizează semantica copiere la scriere (de exemplu, \fIbtrfs\fP), suprascrierea blocurilor alocate existente este imposibilă. Atunci când se scrie în spațiul prealocat, multe sisteme de fișiere necesită, de asemenea, apeluri către alocatorul de blocuri, pe care acest apel de sistem nu le sincronizează pe disc. Acest apel de sistem nu golește cache\-urile de scriere pe disc și, prin urmare, nu oferă nicio integritate a datelor pe sistemele cu cache\-uri de scriere pe disc volatile. .SS "Câteva detalii" \fBSYNC_FILE_RANGE_WAIT_BEFORE\fP și \fBSYNC_FILE_RANGE_WAIT_AFTER\fP vor detecta orice erori de In/Ieș sau condiții \fBENOSPC\fP și le vor returna apelantului. .P Combinații utile ale biților \fIflags\fP sunt: .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP Se asigură că toate paginile din intervalul specificat care erau murdare când a fost apelată funcția \fBsync_file_range\fP() sunt plasate sub scriere. Aceasta este o operație de scriere inițială pentru integritatea datelor. .TP \fBSYNC_FILE_RANGE_WRITE\fP Începe scrierea tuturor paginilor murdare din intervalul specificat care nu sunt în prezent în curs de scriere. Aceasta este o operatie asincronă de golire pe disc. Aceasta nu este potrivită pentru operații de integritate a datelor. .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE\fP (sau \fBSYNC_FILE_RANGE_WAIT_AFTER\fP) Așteaptă finalizarea scrierii tuturor paginilor din intervalul specificat. Această opțiune poate fi utilizată după o operație anterioară \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP pentru a aștepta finalizarea acelei operații și a obține rezultatul acesteia. .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER\fP Aceasta este o operație de scriere pentru integritatea datelor care va asigura că toate paginile din intervalul specificat care erau murdare când a fost apelată \fBsync_file_range\fP() sunt salvate pe disc. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBsync_file_range\fP() returnează 0; în caz de eșec, returnează \-1 și \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEBADF\fP \fIdescriptor\-fișier\fP nu este un descriptor de fișier valid. .TP \fBEINVAL\fP \fIflags\fP specifică un bit nevalid; sau \fIoffset\fP sau \fInbytes\fP nu este valid. .TP \fBEIO\fP Eroare de In/Ieș. .TP \fBENOMEM\fP Memorie insuficientă. .TP \fBENOSPC\fP Spațiu pe disc insuficient. .TP \fBESPIPE\fP \fIfd\fP se referă la altceva decât un fișier obișnuit, un dispozitiv bloc sau un director. .SH VERSIUNI .SS sync_file_range2() .\" See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622 Unele arhitecturi (de exemplu, PowerPC, ARM) necesită ca argumentele pe 64 de biți să fie aliniate într\-o pereche adecvată de registre. Pe astfel de arhitecturi, semnătura apelului \fBsync_file_range\fP() prezentată în SINOPSIS ar forța irosirea unui registru ca umplutură între argumentele \fIfd\fP și \fIoffset\fP. (A se vedea \fBsyscall\fP(2) pentru detalii.) Prin urmare, aceste arhitecturi definesc o apelare de sistem diferită care ordonează argumentele în mod adecvat: .P .in +4n .EX \fBint sync_file_range2(int \fP\fIfd\fP\fB, unsigned int \fP\fIflags\fP\fB,\fP \fB off_t \fP\fIoffset\fP\fB, off_t \fP\fInbytes\fP\fB);\fP .EE .in .P Comportamentul acestui apel de sistem este în rest identic cu cel al \fBsync_file_range\fP(). .SH STANDARDE Linux. .SH ISTORIC Linux 2.6.17. .SS sync_file_range2() Un apel de sistem cu această semnătură a apărut pentru prima dată pe arhitectura ARM în Linux 2.6.20, cu numele \fBarm_sync_file_range\fP(). A fost redenumit în Linux 2.6.22, când a fost adăugat apelul de sistem analog pentru PowerPC. Pe arhitecturile care oferă suport glibc, glibc încorporează în mod transparent \fBsync_file_range2\fP() sub numele \fBsync_file_range\fP(). .SH NOTE \fB_FILE_OFFSET_BITS\fP trebuie definit ca fiind 64 în codul care preia adresa \fBsync_file_range\fP, dacă codul este destinat să fie portabil pe platformele tradiționale x86 și ARM pe 32 de biți, unde lățimea \fBoff_t\fP este implicit de 32 de biți. .SH "CONSULTAȚI ȘI" \fBfdatasync\fP(2), \fBfsync\fP(2), \fBmsync\fP(2), \fBsync\fP(2) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .