Pārlūkot izejas kodu

[XFS] Fix a barrier related forced shutdown on mounts with quota enabled.

SGI-PV: 912426
SGI-Modid: xfs-linux-melb:xfs-kern:26622a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott 19 gadi atpakaļ
vecāks
revīzija
b2ea401bac
2 mainītis faili ar 8 papildinājumiem un 1 dzēšanām
  1. 7 0
      fs/xfs/linux-2.6/xfs_super.c
  2. 1 1
      fs/xfs/xfs_vfsops.c

+ 7 - 0
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,

+ 1 - 1
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);