Btrfs: Do fsync log replay when mount -o ro, except when on readonly media
authorChris Mason <chris.mason@oracle.com>
Wed, 19 Nov 2008 20:13:35 +0000 (15:13 -0500)
committerChris Mason <chris.mason@oracle.com>
Wed, 19 Nov 2008 20:13:35 +0000 (15:13 -0500)
commit7c2ca4682a2b401cb0c43f96b05eced25eb83eec
tree8c6cf2661f1f15869acdbbf7096bce2e19a1c1e1
parentd2c3f4f695edac4d75c1b3eb01a1d16072de63bb
Btrfs: Do fsync log replay when mount -o ro, except when on readonly media

fsync log replay can change the filesystem, so it cannot be delayed until
mount -o rw,remount, and it can't be forgotten entirely.  So, this patch
changes btrfs to do with reiserfs, ext3 and xfs do, which is to do the
log replay even when mounted readonly.

On a readonly device if log replay is required, the mount is aborted.

Getting all of this right had required fixing up some of the error
handling in open_ctree.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/disk-io.c