31.03.2019 14:27, Alberto Bursi пишет: > > On 30/03/19 13:31, Qu Wenruo wrote: >> Hi, >> >> I'm wondering if it's possible that certain physical device doesn't >> handle flush correctly. >> >> E.g. some vendor does some complex logical in their hdd controller to >> skip certain flush request (but not all, obviously) to improve performance? >> >> Do anyone see such reports? >> >> And if proves to happened before, how do we users detect such problem? >> >> Can we just check the flush time against the write before flush call? >> E.g. write X random blocks into that device, call fsync() on it, check >> the execution time. Repeat Y times, and compare the avg/std. >> And change X to 2X/4X/..., repeat above check. >> >> Thanks, >> Qu >> >> > > Afaik HDDs and SSDs do lie to fsync() > > unless the write cache is turned off with hdparm, I know at least one case of SSD that are claimed to flush cache in case of power loss. I can dig up details if anyone is interested. > > hdparm -W0 /dev/sda > > similarly to RAID controllers. > > see below > > https://brad.livejournal.com/2116715.html > > https://queue.acm.org/detail.cfm?id=2367378 > > > - >