.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2016, Oracle. All rights reserved. .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ioctl_ficlonerange 2 "30 martie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME ioctl_ficlonerange, ioctl_ficlone \- partajarea unor date dintr\-un fișier cu un alt fișier .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP /* Definirea constantelor \fBFICLONE*\fP */ \fB#include \fP .PP \fBint ioctl(int \fP\fIdest_fd\fP\fB, FICLONERANGE, struct file_clone_range *\fP\fIarg\fP\fB);\fP \fBint ioctl(int \fP\fIdest_fd\fP\fB, FICLONE, int \fP\fIsrc_fd\fP\fB);\fP .fi .SH DESCRIERE În cazul în care un sistem de fișiere acceptă fișiere care partajează stocarea fizică între mai multe fișiere („reflink”), această operațiune \fBioctl\fP(2) poate fi utilizată pentru a face ca o parte din datele din fișierul \fIsrc_fd\fP să apară în fișierul \fIdest_fd\fP prin partajarea stocării subiacente, ceea ce este mai rapid decât realizarea unei copii fizice separate a datelor. Ambele fișiere trebuie să se afle în același sistem de fișiere. În cazul în care ar trebui să aibă loc o scriere a unui fișier într\-o regiune partajată, sistemul de fișiere trebuie să se asigure că modificările rămân private pentru fișierul care este scris. Acest comportament este denumit în mod obișnuit „copiere la scriere”. .PP Acest ioctl „reflink” clonează până la \fIsrc_length\fP octeți din descriptorul de fișier \fIsrc_fd\fP la poziția \fIsrc_offset\fP în fișierul \fIdest_fdd\fP la poziția \fIdest_offset\fP, cu condiția ca ambele să fie fișiere. În cazul în care \fIsrc_length\fP este zero, ioctl „reflink” clonează la sfârșitul fișierului sursă. Această informație este transmisă într\-o structură de următoarea formă: .PP .in +4n .EX struct file_clone_range { __s64 src_fd; __u64 src_offset; __u64 src_length; __u64 dest_offset; }; .EE .in .PP Clonele sunt atomice în ceea ce privește scrierile simultane, astfel încât nu este necesar să se ia nicio blocare pentru a obține o copie clonată consistentă. .PP Ioctl\-ul \fBFICLONE\fP clonează fișiere întregi. .SH "VALOAREA RETURNATĂ" În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE Codurile de eroare pot fi unul dintre următoarele, dar nu se limitează la acestea: .TP \fBEBADF\fP \fIsrc_fd\fP nu este deschis pentru citire; \fIdest_fd\fP nu este deschis pentru scriere sau este deschis doar pentru scriere de tip „append\-only” (doar\-adăugare); sau sistemul de fișiere pe care se află \fIsrc_fd\fP nu acceptă „reflink”. .TP \fBEINVAL\fP Sistemul de fișiere nu suportă clonarea „reflink” între intervalele de fișiere date. Această eroare poate apărea, de asemenea, dacă oricare dintre descriptorii de fișiere reprezintă un dispozitiv, FIFO sau soclu. În general, sistemele de fișiere de pe discuri cer ca argumentele „offset” (poziție) și „length” (lungime) să fie aliniate la dimensiunea blocului fundamental. XFS și Btrfs nu acceptă suprapunerea intervalelor de clonare „reflink” în același fișier. .TP \fBEISDIR\fP Unul dintre fișiere este un director, iar sistemul de fișiere nu acceptă regiuni partajate în directoare. .TP \fBEOPNOTSUPP\fP Acest lucru poate apărea în cazul în care sistemul de fișiere nu acceptă clonarea „reflink” cu oricare dintre descriptorii de fișiere sau în cazul în care oricare dintre descriptorii de fișiere se referă la noduri\-i speciale. .TP \fBEPERM\fP \fIdest_fd\fP este imuabil. .TP \fBETXTBSY\fP Unul dintre fișiere este un fișier swap. Fișierele swap nu pot partaja spațiul de stocare. .TP \fBEXDEV\fP \fIdest_fd\fP și \fIsrc_fd\fP nu se află pe același sistem de fișiere montat. .SH STANDARDE Linux. .SH ISTORIC Linux 4.5. .PP Acestea erau cunoscute anterior sub numele de \fBBTRFS_IOC_CLONE\fP și \fBBTRFS_IOC_CLONE_RANGE\fP și erau private pentru Btrfs. .SH NOTE Deoarece o operație de copiere la scriere „copy\-on\-write” necesită alocarea de noi spații de stocare, operația \fBfallocate\fP(2) poate să nu partajeze blocurile partajate pentru a garanta că scrierile ulterioare nu vor eșua din cauza lipsei de spațiu pe disc. .SH "CONSULTAȚI ȘI" \fBioctl\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 .