[haiku-commits] Change in haiku[master]: kernel/fs: Flush the underlying device's write cache as part of sync().

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 11 Sep 2018 03:38:05 +0000

From waddlesplash <waddlesplash@xxxxxxxxx>:

waddlesplash has uploaded this change for review. ( 
https://review.haiku-os.org/530


Change subject: kernel/fs: Flush the underlying device's write cache as part of 
sync().
......................................................................

kernel/fs: Flush the underlying device's write cache as part of sync().

BFS does this as part of journal management, but not as part of block
cache synchronization (which makes sense, as flushing it then would
defeat the purpose of the drive's write cache.) No other file system
seems to touch it at all, so we should do it as part of an explicit sync.

This may help with some of the filesystem corruption issues, as it seems
that on slow disks, the drive might not have enough time to flush the cache
before it is powered off (or on some SATA/AHCI based disks, it is not flushed
before close at all), so triggering it here and, as the ioctl is supposed to be
synchronous, waiting for it also, seems to make sense.
---
M src/system/kernel/fs/vfs.cpp
1 file changed, 5 insertions(+), 2 deletions(-)



  git pull ssh://git.haiku-os.org/haiku refs/changes/30/530/1
--
To view, visit https://review.haiku-os.org/530
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7d9992c21ca4b59c839711dcc96c973b4b8df052
Gerrit-Change-Number: 530
Gerrit-PatchSet: 1
Gerrit-Owner: waddlesplash <waddlesplash@xxxxxxxxx>

Other related posts:

  • » [haiku-commits] Change in haiku[master]: kernel/fs: Flush the underlying device's write cache as part of sync(). - Gerrit