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?
syncdoesn't touch applications' buffers, only kernel buffers. – Andy Dalton Nov 26 '19 at 15:07