Messages in this thread | | | Date | Fri, 14 Mar 2014 10:11:43 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 1/1] fs/mpage.c: forgotten WRITE_SYNC in case of data integrity write |
| |
Hello,
On Fri, Mar 14, 2014 at 11:07:04PM +0900, Roman Peniaev wrote: > Seems the following message should be better: > When data inegrity operation (sync, fsync, fdatasync calls) happens > writeback control is set to WB_SYNC_ALL. > In that case all write requests are marked with WRITE_SYNC, but on > mpage writeback path > WRITE_SYNC is missed. This patch fixes this. > > Is it ok, what do you think?
I think the description should make it clear that WRITE_SYNC is about latency, not about integrity and we probably should add comments explaining why we're using WRITE_SYNC for WB_SYNC_ALL (because there probably is someone waiting).
> Also, could you please help me do understand how can I guarantee > integrity in case of block device with big volatile > cache and filesystem, which does not support REQ_FLUSH/FUA?
If a device has a volatile cache but doesn't support flush, it can't guarantee integrity. There's no way for its user to determine or force whether certain data is on non-volatile media. It's an inherently broken device.
Thanks.
-- tejun
| |