.\" -*- coding: UTF-8 -*- .\" Copyright 2006, Michael Kerrisk .\" 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 "8. februar 2026" "Linux man\-pages 6.18" .SH NAVN sync_file_range \- synkroniser et filsegment med disken .SH BIBLIOTEK C\-standardbibliotek (\fIlibc\fP,\ \fI\-lc\fP) .SH SYNOPSIS .nf \fB#define _GNU_SOURCE\fP /* Se 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\fIforskydning\fP\fB, off_t \fP\fInbytes\fP\fB,\fP \fB unsigned int \fP\fIflag\fP\fB);\fP .fi .SH BESKRIVELSE \fBsync_file_range\fP() gør det muligt at kontrollere detaljeret under synkronisering af den åbne fil refereret til af fildeskriptoren \fIfd\fP med disken. .P \fIforskydning\fP er den startende byte for filintervallet, der skal synkroniseres. \fInbytes\fP angiver længden af intervallet, der skal synkroniseres, i byte; hvis \fInbytes\fP er nul, så bliver alle byte fra \fIforskydning\fP helt til slutningen af filen synkroniseret. Synkronisering er i enehder af systemsidestørrelsen: \fIforskydning\fP afrundes ned til en sidegrænse; \fI(forskydning+nbytes\-1)\fP afrundes op til en sidegrænse. .P Bit\-maske\-argumentet \fIflag\fP kan inkludere enhver af de følgende værdier: .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE\fP Vent ved write\-out (skriv\-ud) på alle sider i det angivne interval, der allerede er blevet sendt til enhedsdriveren for write\-out før udførelse af en skrivning. .TP \fBSYNC_FILE_RANGE_WRITE\fP Igangsæt »write\-out« (skriv\-ud) ud for alle beskidte sider i det angivne interval, der ikke i øjeblikket er indsendt »write\-out«. Bemærk at selv dette kan blokere, hvis du forsøger at skrive mere end forespørgslens kø\-størrelse). .TP \fBSYNC_FILE_RANGE_WAIT_AFTER\fP Vent ved write\-out for alle sider i intervallet før udførelse af en skrivning. .P Angivelse af \fIflag\fP som 0 er tilladt, som en no\-op. .SS Advarsel Dette systemkald er ekstremt farligt bør ikke bruges i flytbare programmer. Ingen af disse operationer skriver filens metadata ud. Derfor, med mindre at programmet strengt udfører overskrivninger af allerede igangsatte diskblokke, er der ingen garantier for at dataene vil være tilgængelige efter et nedbrud. Der er ingen brugerflade til at ivse om en skrivning bare er en overskrivning. På filsystemer, der bruger copy\-on\-write\-semantik (f.eks. \fIbtrfs\fP) er en overskrivning af eksisterende allokerede blokke umulig. Når der skrives i et præallokeret rum, så kræver mange filsystemer også kald til blokallokeringen, som dette systemkald ikke synkroniserer ud til disken. Dette systemkald tømmer ikke mellemlageret for diskskrivningen og tilbyder derfor ingen dataintegritet på systemer med flygtige mellemlagre for diskskrivninger. .SS "Nogle detaljer" \fBSYNC_FILE_RANGE_WAIT_BEFORE\fP og \fBSYNC_FILE_RANGE_WAIT_AFTER\fP vil registrere eventuelle I/O\-fejl eller \fBENOSPC\fP\-betingelser og vil returnere disse til kalderen. .P Nyttige kombinationer af \fIflag\fP\-delene er: .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP Sikrer at alle sider i det angivne interval, der var beskidte da \fBsync_file_range\fP() blev kaldt, er placeret under write\-out. Dette er en start skrivning for dataintegritet\-operation. .TP \fBSYNC_FILE_RANGE_WRITE\fP Start write\-out for alle beskidte sider i det angivne interval, der ikke er til stede under write\-out. Dette er en asynkron tøm til disk\-operation. Er ikke egnet for dataintegritetsoperationer. .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE\fP (eller \fBSYNC_FILE_RANGE_WAIT_AFTER\fP) Vent på fuldførelse af write\-out for alle sider det angivne interval. Dette kan bruges efter en tidligere \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP\-operation for at vente på fuldførelse af den operation og indhente dens resultat. .TP \fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER\fP Dette er en skriv for dataintegritet\-operation, der vil sikre at alle sider i det angivne interval, der var beskidte da \fBsync_file_range\fP() blev kaldt sendes til disken. .SH RETURVÆRDI Ved succes returnerer \fBsync_file_range\fP() 0; ved fejl returneres \-1 og \fIerrno\fP angives for at indikere fejlen. .SH FEJL .TP \fBEBADF\fP \fIfd\fP er ikke en gyldig filbeskrivelse. .TP \fBEINVAL\fP \fIflag\fP angiver en ugyldig del; eller \fIforskydning\fP eller \fInbytes\fP er ugyldig. .TP \fBEIO\fP I/O\-fejl. .TP \fBENOMEM\fP Ikke nok hukommelse. .TP \fBENOSPC\fP Ikke nok displads. .TP \fBESPIPE\fP \fIfd\fP refererer til noget udover en regulær fil, en blokenhed, eller en mappe. .SH VERSIONER .SS sync_file_range2() .\" See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622 Nogle arkitekturer (f.eks., PowerPC, ARM) kræver at 64\-bit argumenterne er justeret i et egnet registerpar. På sådanne arkitekturer vil kaldsignaturen for \fBsync_file_range\fP() vist i SYNOPSIS tvinge et register til at blive spildt som mellemrum mellem argumenterne \fIfd\fP og \fIoffset\fP. (Se \fBsyscall\fP(2) for detaljer). Disse arkitekturer definerer derfor et andet systemkald, der sorterer argumenterne på en egnet måde: .P .in +4n .EX \fBint sync_file_range2(int \fP\fIfd\fP\fB, unsigned int \fP\fIflag\fP\fB,\fP \fB off_t \fP\fIforskydning\fP\fB, off_t \fP\fInbytes\fP\fB);\fP .EE .in .P Opførelsen for dette systemkald er ellers præcis den samme som \fBsync_file_range\fP(). .SH STANDARDER Linux. .SH HISTORIK Linux 2.6.17. .SS sync_file_range2() Et systemkald med denne signatur kom første gang på ARM\-arkitekturen i Linux 2.6.20, med navnet \fBarm_sync_file_range\fP(). Blev omdøbt i Linux 2.6.22, da det analoge systemkald blev tilføjet for PowerPC. På arkitekturer hvor glibc\-understøttelse tilbydes omslutter glibc gennemsigtigt \fBsync_file_range2\fP() under navnet \fBsync_file_range\fP(). .SH NOTER \fB_FILE_OFFSET_BITS\fP bør defineres som 64 i kode, der anvender adressen for \fBsync_file_range\fP, hvis koden er tænkt som værende flytbar for traditionelle 32\-bit x86\- og ARM\-platforme hvor \fBoff_t\fP's bredde er 32 bit som standard. .SH "SE OGSÅ" \fBfdatasync\fP(2), \fBfsync\fP(2), \fBmsync\fP(2), \fBsync\fP(2) .PP .SH OVERSÆTTELSE Oversættere af denne manual til dansk Joe Hansen . .PP Denne oversættelse er gratis dokumentation; læs .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. .PP Hvis du støder på fejl i oversættelsen af ​​denne vejledning, skal du sende en besked til .MT debian-l10n-danish@lists.debian.org .ME .