Sync (Unix)

sync is a standard system call in the Unix operating system, which commits all data from the kernel filesystem buffers to non-volatile storage, i.e., data which has been scheduled for writing via low-level I/O system calls. Higher-level I/O layers such as stdio may maintain separate buffers of their own.

As a function in C, the sync() call is typically declared as void sync(void) in <unistd.h>. The system call is also available via a command line utility also called sync, and similarly named functions in other languages such as Perl and Node.js (in the fs module).

The related system call fsync() commits just the buffered data relating to a specified file descriptor.[1] fdatasync() is also available to write out just the changes made to the data in the file, and not necessarily the file's related metadata.[2]

Some Unix systems run a kind of flush or update daemon, which calls the sync function on a regular basis. On some systems, the cron daemon does this, and on Linux it was handled by the pdflush daemon which was replaced by a new implementation and finally removed from the Linux kernel in 2012.[3] Buffers are also flushed when filesystems are unmounted or remounted read-only,[4] for example prior to system shutdown.

Some applications, such as LibreOffice, also call the sync function to save recovery information in an interval.

Database use

In order to provide proper durability, databases need to use some form of sync in order to make sure the information written has made it to non-volatile storage rather than just being stored in a memory-based write cache that would be lost if power failed. PostgreSQL for example may use a variety of different sync calls, including fsync() and fdatasync(),[5] in order for commits to be durable.[6] Unfortunately, for any single client writing a series of records, a rotating hard drive can only commit once per rotation, which makes for at best a few hundred such commits per second.[7] Turning off the fsync requirement can therefore greatly improve commit performance, but at the expense of potentially introducing database corruption after a crash.

Databases also employ transaction log files (typically much smaller than the main data files) that have information about recent changes, such that changes can be reliably redone in case of crash; then the main data files can be synced less often.

Error reporting and checking

To avoid any data loss return values of fsync() should be checked because when performing I/O operations that are buffered by the library or the kernel, errors may not be reported at the time of using the write() system call or the fflush() call, since the data may not be written to non-volatile storage but only be written to the memory page cache. Errors from writes are instead often reported during system calls to fsync(), msync() or close().[8] Prior to 2018, Linux's fsync() behavior under certain circumstances failed to report error status,[9][10] change behavior was proposed on 23 April 2018.[11]

Performance controversies

Hard disks may default to using their own volatile write cache to buffer writes, which greatly improves performance while introducing a potential for lost writes.[12] Tools such as hdparm -F will instruct the HDD controller to flush the on-drive write cache buffer. The performance impact of turning caching off is so large that even the normally conservative FreeBSD community rejected disabling write caching by default in FreeBSD 4.3.[13]

In SCSI and in SATA with Native Command Queuing (but not in plain ATA, even with TCQ) the host can specify whether it wants to be notified of completion when the data hits the disk's platters or when it hits the disk's buffer (on-board cache). Assuming a correct hardware implementation, this feature allows the disk's on-board cache to be used while guaranteeing correct semantics for system calls like fsync.[14] This hardware feature is called Force Unit Access (FUA) and it allows consistency with less overhead than flushing the entire cache as done for ATA (or SATA non-NCQ) disks.[15] Although Linux enabled NCQ around 2007, it did not enable SATA/NCQ FUA until 2012, citing lack of support in the early drives.[16][17]

Firefox 3.0, released in 2008, introduced fsync system calls that were found to degrade its performance; the call was introduced in order to guarantee the integrity of the embedded SQLite database.[18] Linux Foundation chief technical officer Theodore Ts'o claims there is no need to "fear fsync", and that the real cause of Firefox 3 slowdown is the excessive use of fsync.[19] He also concedes however (quoting Mike Shaver) that

On some rather common Linux configurations, especially using the ext3 filesystem in the "data=ordered" mode, calling fsync doesn't just flush out the data for the file it's called on, but rather on all the buffered data for that filesystem.[20]

See also

References

  1. ^ fsync specification
  2. ^ fdatasync specification
  3. ^ "R.I.P. Pdflush [LWN.net]".
  4. ^ "mount - Does umount calls sync to complete any pending writes". Unix & Linux Stack Exchange. Retrieved 2021-05-02.
  5. ^ Vondra, Tomas (2 February 2019). "PostgreSQL vs. fsync". Osuosl Org. Archived from the original (mp4) on 10 February 2019. Retrieved 10 February 2019.
  6. ^ PostgreSQL Reliability and the Write-Ahead Log
  7. ^ Tuning PostgreSQL WAL Synchronization Archived 2009-11-25 at the Wayback Machine
  8. ^ "Ensuring data reaches disk [LWN.net]".
  9. ^ "PostgreSQL's fsync() surprise [LWN.net]".
  10. ^ "Improved block-layer error handling [LWN.net]".
  11. ^ "Always report a writeback error once - Patchwork". Archived from the original on 2018-05-04. Retrieved 2018-05-03.
  12. ^ Write-Cache Enabled?
  13. ^ FreeBSD Handbook — Tuning Disks
  14. ^ Marshall Kirk McKusick. "Disks from the Perspective of a File System - ACM Queue". Queue.acm.org. Retrieved 2014-01-11.
  15. ^ Gregory Smith (2010). PostgreSQL 9.0: High Performance. Packt Publishing Ltd. p. 78. ISBN 978-1-84951-031-8.
  16. ^ "Enabling FUA for SATA drives (Was Re: [RFC][PATCH] libata: Enable SATA disk fua detection on default) (Linux SCSI)".
  17. ^ "Linux-Kernel Archive: [PATCH RFC] libata: FUA updates".
  18. ^ "Shaver » fsyncers and curveballs". Archived from the original on 2012-12-09. Retrieved 2009-10-15.
  19. ^ "Don't fear the fsync!".
  20. ^ "Delayed allocation and the zero-length file problem".

Read other articles:

Mattia Preti The Incredulity of St. Thomas.Museum Kunsthistorisches, Vienna. Mattia Preti (24 Februari 1613 – 3 Januari 1699) adalah seorang artis Barok Italia yang berkarya di Italia dan Malta. Biografi Lahir di kota kecil Taverna, Calabria, Preti terkadang dipanggil Il Cavalier Calabrese (Kesatria Calabria). Referensi Spike, John (1997). Mattia Preti e Gregorio Preti a Taverna. Catalogo completo delle opere. Centro Di.  Spike, John (1999). Mattia Preti. Catalogo Ragionato dei Dipinti...

 

Church in Wisconsin, United StatesSacred Heart-Saint Wenceslaus Church44°8′4″N 91°31′37″W / 44.13444°N 91.52694°W / 44.13444; -91.52694LocationPine Creek, WisconsinCountryUnited StatesDenominationRoman CatholicArchitectureArchitect(s)C.G. Maybury (1830–1917) Sacred Heart-Saint Wenceslaus Church in Pine Creek, Wisconsin, referred to in Polish as Kościół Najświętszego Serca Pana Jezusa i Świętego Wacława, is a historic church of the Roman Catholic D...

 

Vincente Minnelli Oscar al miglior regista 1959 Vincente Minnelli, all'anagrafe Lester Anthony Minnelli (Chicago, 28 febbraio 1903 – Beverly Hills, 25 luglio 1986), è stato un regista statunitense, inizialmente costumista e scenografo teatrale; secondo marito di Judy Garland, dalla quale ebbe la figlia Liza Minnelli. Indice 1 Biografia 2 Alla Metro Goldwyn Mayer 3 I matrimoni 4 Riconoscimenti 4.1 Premio Oscar 4.2 Golden Globe 5 Filmografia 6 Spettacoli teatrali (parziale) 7 Note 8 Altri pr...

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Lockheed Martin Orincon – news · newspapers · books · scholar · JSTOR (April 2020) (Learn how and when to remove this template message) Lockheed Martin Orincon Corp.Company typePrivate (sub. Lockheed Martin)IndustryDefenseFoundedSan Diego (1973)HeadquartersSan Diego, CaliforniaKey peopleDr. Daniel Alspach,...

 

International ice hockey club tournament 2008–09 IIHF European Women's Champions CupTournament detailsHost countries Finland Czech Republic Sweden Italy Lithuania RussiaDatesRound 124–26 October 200831 October–2 November 2008Round 25–7 December 2008Finals30 January–2 February 2009FormatRound-robinFinal positionsChampions  SKIF Nizhny Novgorod (1st title)Runner-up  Segeltorps IFThird place  Espoo BluesFourth place Aisulu AlmatyTourname...

 

Public university in Bucharest, Romania University of BucharestUniversitatea din BucureștiLatin: Universitas Studiorum BucurestiensisOther namesUB, UniBucMottoVirtute et Sapientia (Latin)Motto in EnglishVirtue and WisdomTypePublicEstablished1694 – Princely Academy of Bucharest1821 – Saint Sava College4 July 1864; 159 years ago (1864-07-04)Academic affiliationsIAU, UNICA, EUA, CIVISEndowmentRON 1.14 billion (US$274.76 million) (2018)[1]BudgetRON 364....

Species of bird Pin-tailed whydah male in breeding plumageSão Tomé and Príncipe Conservation status Least Concern  (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Aves Order: Passeriformes Family: Viduidae Genus: Vidua Species: V. macroura Binomial name Vidua macroura(Pallas, 1764) Synonyms Fringilla macroura Pallas, 1764 Emberiza vidua Linnaeus, 1766 The pin-tailed whydah (Vidua macroura) is a small songbird w...

 

Artikel ini bukan mengenai Partai NasDem. Untuk kegunaan lain, lihat Partai Nasional Demokrat. Partai Nasional Demokrat Ketua umumEdwin Henawan SoekowatiSekretaris JenderalEddy SjafuanDibentuk12 Juni 1998Dipisah dariPDIKantor pusatJl Tebet Utara III No 9 Jakarta Selatan 12820IdeologiPancasilaKursi di DPR0Politik IndonesiaPartai politikPemilihan umum Partai Nasional Demokrat (PND) adalah sebuah partai politik di Indonesia yang didirikan pada tanggal 12 Juni 1998 oleh anggota Pemuda Demokr...

 

China National Heavy Duty Truck Group Co., Ltd.中国重型汽车集团有限公司 Création 1935 Siège social Jinan, Shandong Chine Actionnaires Conseil des affaires de l'État de la république populaire de Chine Activité Construction de véhicules automobiles, de remorques et semi-remorques Produits Camion Société mère Commission d'État pour la supervision et l'administration des actifs de l'État Filiales Sinotruk (en) (depuis le 31 janvier 2007)Sinotruk Jinan Truck Co., Ltd....

This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Secretariate of Briefs to Princes and of Latin Letters – news · newspapers · books · scholar · JSTOR (December 2019) Part of a series on theRoman Curia Secretariat of State Section for Relations with States Dicasteries Evangelization Doctrine of the F...

 

Великое зарево Жанры драма, военный, историко-революционный фильм Режиссёр Михаил Чиаурели Авторысценария Михаил Чиаурели,Георгий Цагарели В главныхролях Михаил Геловани, Спартак Багашвили,Константин Мюфке,Тамара МакароваИван Перестиани, Шалва Гедеванишвили, Геор...

 

周處除三害The Pig, The Snake and The Pigeon正式版海報基本资料导演黃精甫监制李烈黃江豐動作指導洪昰顥编剧黃精甫主演阮經天袁富華陳以文王淨李李仁謝瓊煖配乐盧律銘林孝親林思妤保卜摄影王金城剪辑黃精甫林雍益制片商一種態度電影股份有限公司片长134分鐘产地 臺灣语言國語粵語台語上映及发行上映日期 2023年10月6日 (2023-10-06)(台灣) 2023年11月2日 (2023-11-02)(香�...

Municipality in Federation of Bosnia and Herzegovina, Bosnia and HerzegovinaTeočak ТеочакMunicipalityLocation of Teočak within Bosnia and Herzegovina.TeočakLocation of TeočakCoordinates: 44°36′10″N 18°59′05″E / 44.60278°N 18.98472°E / 44.60278; 18.98472Country Bosnia and HerzegovinaEntityFederation of Bosnia and HerzegovinaCanton Tuzla CantonGovernment • Municipal mayorTajib Muminović (SDA)Area • Total30.37&...

 

Artikel ini memiliki beberapa masalah. Tolong bantu memperbaikinya atau diskusikan masalah-masalah ini di halaman pembicaraannya. (Pelajari bagaimana dan kapan saat yang tepat untuk menghapus templat pesan ini) Artikel atau bagian mungkin perlu ditulis ulang agar sesuai dengan standar kualitas Wikipedia. Anda dapat membantu memperbaikinya. Halaman pembicaraan dari artikel ini mungkin berisi beberapa saran. Artikel biografi ini ditulis menyerupai resume atau daftar riwayat hidup (Curriculum Vi...

 

Untuk orang lain dengan nama yang sama, lihat José Ferrer (disambiguasi). José FerrerFerrer pada 1952LahirJosé Vicente Ferrer de Otero y Cintrón(1912-01-08)8 Januari 1912San Juan, Puerto RikoMeninggal26 Januari 1992(1992-01-26) (umur 80)Coral Gables, FloridaPekerjaanAktor, sutradaraTahun aktif1935–1992Suami/istriUta Hagen (1938–48)Phyllis Hill (1948–53)Rosemary Clooney(1953–61 and 1964–67) Stella Magee (1977–1992) [1]AnakLeticia (Letty) Ferrer (l. 1940) Migue...

LeveragePoster promosiHangul레버리지: 사기조작단 GenreKriminalDramaBerdasarkanLeverageoleh John Rogers dan Chris DowneyPengembangTV ChosunDitulis olehMin Ji-hyungSutradaraNam Gi-hoonPemeranLee Dong-gunJeon Hye-binKim Sae-ronKim KwonYeo Hoe-hyunNegara asalKorea SelatanBahasa asliKoreaJmlh. episode16ProduksiRumah produksiProduction HHiground[1]Sony Pictures TelevisionDistributorTV ChosunSony Pictures TelevisionRilis asliJaringanTV ChosunFormat gambar1080i (HDTV)Format audioDol...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Caesar slave – news · newspapers · books · scholar · JSTOR (February 2024) (Learn how and when to remove this message)Subject of early photograph (1737–1852) CaesarAn 1851 daguerreotypeBornc. 1737 (supposedly)Bethlehem House estate, New York, Thirteen Co...

 

Riccardo PatreseRiccardo Patrese al Gran Premio dei Paesi Bassi 1982Nazionalità Italia Altezza174 cm Peso67 kg Automobilismo CategoriaFormula 1, Sportprototipi Termine carriera2006 CarrieraCarriera in Formula 1Stagioni1977-1993 Scuderie Shadow 1977 Arrows 1978-1981 Brabham 1982-1983 Alfa Romeo 1984-1985 Brabham 1986-1987 Williams 1987-1992 Benetton 1993 Miglior risultato finale2º (1992) GP disputati257 (256 partenze) GP vinti6 Podi37 Punti ottenuti281...

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 3rd Corps Army of the Republic of Bosnia and Herzegovina – news · newspapers · books · scholar · JSTOR (December 2012) (Learn how and when to remove this message) 3rd Corps3rd Corps PatchActive1 December 1992 – 1995Country Republic of Bosnia and HerzegovinaAllegiance...

 

Artikel ini memberikan informasi dasar tentang topik kesehatan. Informasi dalam artikel ini hanya boleh digunakan untuk penjelasan ilmiah; bukan untuk diagnosis diri dan tidak dapat menggantikan diagnosis medis. Wikipedia tidak memberikan konsultasi medis. Jika Anda perlu bantuan atau hendak berobat, berkonsultasilah dengan tenaga kesehatan profesional. Mikrograf dari radang saluran telur akut Radang saluran telur atau salpingitis adalah radang pada tuba fallopi, yaitu saluran yang menghubung...