From 1cf393420c42300d8680349c2261b992ec4879c1 Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Fri, 28 Jul 2006 17:05:13 +1000 Subject: [PATCH] --- yaml --- r: 32853 b: refs/heads/master c: b2ea401bac39e75ebb64038609ed22efbc799905 h: refs/heads/master i: 32851: 2dba73ab15f1d43bde9dfea66e6206390afe33f3 v: v3 --- [refs] | 2 +- trunk/fs/xfs/linux-2.6/xfs_super.c | 7 +++++++ trunk/fs/xfs/xfs_vfsops.c | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 2b01416d779d..961f1d9e77f4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f5faad799475c4058416264f672bb33bf8b5ef41 +refs/heads/master: b2ea401bac39e75ebb64038609ed22efbc799905 diff --git a/trunk/fs/xfs/linux-2.6/xfs_super.c b/trunk/fs/xfs/linux-2.6/xfs_super.c index 9bdef9d51900..4754f342a5d3 100644 --- a/trunk/fs/xfs/linux-2.6/xfs_super.c +++ b/trunk/fs/xfs/linux-2.6/xfs_super.c @@ -314,6 +314,13 @@ xfs_mountfs_check_barriers(xfs_mount_t *mp) return; } + if (xfs_readonly_buftarg(mp->m_ddev_targp)) { + xfs_fs_cmn_err(CE_NOTE, mp, + "Disabling barriers, underlying device is readonly"); + mp->m_flags &= ~XFS_MOUNT_BARRIER; + return; + } + error = xfs_barrier_test(mp); if (error) { xfs_fs_cmn_err(CE_NOTE, mp, diff --git a/trunk/fs/xfs/xfs_vfsops.c b/trunk/fs/xfs/xfs_vfsops.c index 6c96391f3f1a..b427d220a169 100644 --- a/trunk/fs/xfs/xfs_vfsops.c +++ b/trunk/fs/xfs/xfs_vfsops.c @@ -515,7 +515,7 @@ xfs_mount( if (error) goto error2; - if ((mp->m_flags & XFS_MOUNT_BARRIER) && !(vfsp->vfs_flag & VFS_RDONLY)) + if (mp->m_flags & XFS_MOUNT_BARRIER) xfs_mountfs_check_barriers(mp); error = XFS_IOINIT(vfsp, args, flags);