To mitigate the risk of data corruption during power loss, some storage devices use battery-backed write caches. Generally, high-end arrays and some hardware controllers use battery-backed write caches. However, because the cache's volatility is not visible to the kernel, Red Hat Enterprise Linux 7 enables write barriers by default on all supported journaling file systems.
Write caches are designed to increase I/O performance. However, enabling write barriers means constantly flushing these caches, which can significantly reduce performance.
For devices with non-volatile, battery-backed write caches and those with write-caching disabled, you can safely disable write barriers at mount time using the
. However, some devices do not support write barriers; such devices will log an error message to
(refer to Table 21.1, “Write barrier error messages per file system”
Table 21.1. Write barrier error messages per file system
|File System||Error Message|
JBD: barrier-based sync failed on device - disabling barriers
Filesystem device - Disabling barriers, trial barrier write failed
btrfs: disabling barriers on dev device