WUBI may not follow fsync semantics
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Wubi |
New
|
Undecided
|
Unassigned |
Bug Description
As per
http://
It appears that WUBI installs don't honor fsync semantics. For reference, fsync semantics are
fsync() transfers ("flushes") all modified in-core data of (i.e., modi‐
fied buffer cache pages for) the file referred to by the file descrip‐
tor fd to the disk device (or other permanent storage device) where
that file resides. The call blocks until the device reports that the
transfer has completed. It also flushes metadata information associ‐
ated with the file (see stat(2)).
The collection of tests in the article includes postgresql, sqlite, FS-Mark show a large performance benefit to WUBI.
Ideally, the extra software complexity within the WUBI filesystem stack should give a performance disadvantage. The particular tests above are known to use fsync semantics as part of the benchmarks (through fsync, fdatasync or O_SYNC). The delta implies that the semantics are not being fulfilled.
A similar pattern with KVM was identified last year (KVM was orders of magnitude faster than a native system in more-or-less the same tests). A patch was ultimately applied to qemu honor barriers in upper filesystem calls.