I'm trying fully understand the sync
command operations in linux OS.
After reading: https://en.wikipedia.org/wiki/Sync_(Unix) https://lwn.net/Articles/457667/
I understood that sync
command responsible for flushing data all the way from application's buffers to permanent storage.
how linux tracks it's permanent storage devices and their suitable writing requests? (inside /dev we have many device files not all of them represnt permanent storage devices) where can I see each device's awaiting writing requests?
does sync (specifically sync command) scans all system's devices for writing requests and performs all of them? does it maintain some efficient list?
how virtual file systems related to sync command? does sync command scans each filesystem? if so why?
is there any literature regarding this command and its "backstage" operations?
sync
doesn't touch applications' buffers, only kernel buffers. – Andy Dalton Nov 26 '19 at 15:07