.\" -*- coding: UTF-8 -*- .\" Copyright 1993, Rickard E. Faith .\" 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 fsync 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم fsync, fdatasync \- مزامنة حالة الملف الداخلية مع جهاز التخزين .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint fsync(int \fP\fIfd\fP\fB);\fP .P \fBint fdatasync(int \fP\fIfd\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P .nf \fBfsync\fP(): glibc 2.16 and later: No feature test macros need be defined glibc up to and including 2.15: _BSD_SOURCE || _XOPEN_SOURCE || /* Since glibc 2.8: */ _POSIX_C_SOURCE >= 200112L .fi .P \fBfdatasync\fP(): .nf _POSIX_C_SOURCE >= 199309L || _XOPEN_SOURCE >= 500 .fi .SH الوصف \fBfsync\fP() ينقل ("يُفرغ") جميع البيانات الداخلية المعدلة (أي صفحات خبيئة المخزن المؤقت المعدلة) للملف المشار إليه بواصف الملف \fIfd\fP إلى جهاز القرص (أو جهاز تخزين دائم آخر) بحيث يمكن استرجاع جميع المعلومات المتغيرة حتى لو تعطل النظام أو أعيد تشغيله. يتضمن ذلك الكتابة عبر خبيئة القرص أو إفراغها إن وجدت. يحجب الاستدعاء حتى يبلغ الجهاز بأن النقل قد اكتمل. .P بالإضافة إلى إفراغ بيانات الملف، يُفرغ \fBfsync\fP() أيضًا معلومات البيانات الوصفية المرتبطة بالملف (انظر \fBinode\fP(7)). .P استدعاء \fBfsync\fP() لا يضمن بالضرورة وصول الإدخال في الدليل الذي يحتوي على الملف إلى القرص أيضًا. لذلك، يلزم استدعاء \fBfsync\fP() صريح على واصف ملف للدليل. .P \fBfdatasync\fP() مشابه لـ \fBfsync\fP()، لكنه لا يُفرغ البيانات الوصفية المعدلة إلا إذا كانت تلك البيانات الوصفية ضرورية للسماح بمعالجة استرجاع بيانات لاحق بشكل صحيح. على سبيل المثال، التغييرات في \fIst_atime\fP أو \fIst_mtime\fP (على التوالي، وقت آخر وصول ووقت آخر تعديل؛ انظر \fBinode\fP(7)) لا تتطلب إفراغًا لأنها ليست ضرورية لمعالجة قراءة بيانات لاحقة بشكل صحيح. من ناحية أخرى، تغيير حجم الملف (\fIst_size\fP، كما يتم بواسطة \fBftruncate\fP(2) مثلاً)، يتطلب إفراغ البيانات الوصفية. .P الهدف من \fBfdatasync\fP() هو تقليل نشاط القرص للتطبيقات التي لا تتطلب مزامنة جميع البيانات الوصفية مع القرص. .SH "قيمة الإرجاع" عند النجاح، تُرجع استدعاءات النظام هذه صفرًا. عند الخطأ، يُرجع \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEBADF\fP \fIfd\fP ليس واصف ملف مفتوحًا صالحًا. .TP \fBEINTR\fP قُطعت الدالة بإشارة؛ انظر \fBsignal\fP(7). .TP \fBEIO\fP .\" commit 088737f44bbf6378745f5b57b035e57ee3dc4750 حدث خطأ أثناء المزامنة. قد يتعلق هذا الخطأ ببيانات كُتبت إلى واصف ملف آخر على نفس الملف. منذ Linux 4.13، سيتم الإبلاغ عن الأخطاء الناتجة عن الكتابة الخلفية إلى جميع واصفات الملفات التي ربما كتبت البيانات التي تسببت في الخطأ. بعض أنظمة الملفات (مثل NFS) تتبع بدقة البيانات التي جاءت من خلال أي واصف ملف، وتعطي تقارير أكثر دقة. أنظمة الملفات الأخرى (مثل معظم أنظمة الملفات المحلية) ستُبلغ عن الأخطاء إلى جميع واصفات الملفات التي كانت مفتوحة على الملف عند تسجيل الخطأ. .TP \fBENOSPC\fP نفدت مساحة القرص أثناء المزامنة. .TP \fBEROFS\fP .TQ \fBEINVAL\fP \fIfd\fP مرتبط بملف خاص (مثل أنبوب، FIFO، أو مقبس) لا يدعم المزامنة. .TP \fBENOSPC\fP .TQ \fBEDQUOT\fP \fIfd\fP مرتبط بملف على NFS أو نظام ملفات آخر لا يخصص مساحة في وقت استدعاء النظام \fBwrite\fP(2)، وفشلت كتابة سابقة بسبب عدم كفاية مساحة التخزين. .SH الإصدارات .\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. .\" -1: unavailable, 0: ask using sysconf(). .\" glibc defines them to 1. على أنظمة POSIX التي يتوفر فيها \fBfdatasync\fP()، يُعرف \fB_POSIX_SYNCHRONIZED_IO\fP في \fI\fP بقيمة أكبر من 0. (انظر أيضًا \fBsysconf\fP(3).) .SH المعايير POSIX.1\-2024. .SH التاريخ .TP \fBfsync\fP() 4.2BSD, SUSv1, POSIX.1\-1996. .TP \fBfdatasync\fP() POSIX.1\-1996. .P في Linux 2.2 والإصدارات الأقدم، \fBfdatasync\fP() مكافئ لـ \fBfsync\fP()، وبالتالي ليس له ميزة أداء. .P تطبيقات \fBfsync\fP() في النوى القديمة وأنظمة الملفات الأقل استخدامًا لا تعرف كيفية إفراغ خبائن القرص. في هذه الحالات، يجب تعطيل خبائن القرص باستخدام \fBhdparm\fP(8) أو \fBsdparm\fP(8) لضمان التشغيل الآمن. .P تحت AT&T UNIX System V Release 4، يجب فتح \fIfd\fP للكتابة. هذا في حد ذاته غير متوافق مع واجهة BSD الأصلية ومحظور بواسطة POSIX، لكنه مع ذلك لا يزال موجودًا في HP\-UX و AIX. .SH "انظر أيضًا" \fBsync\fP(1), \fBbdflush\fP(2), \fBopen\fP(2), \fBposix_fadvise\fP(2), \fBpwritev\fP(2), \fBsync\fP(2), \fBsync_file_range\fP(2), \fBfflush\fP(3), \fBfileno\fP(3), \fBhdparm\fP(8), \fBmount\fP(8) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .