aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunil Mushran <sunil.mushran@oracle.com>2009-08-19 15:16:01 -0700
committerJoel Becker <joel.becker@oracle.com>2009-09-23 01:54:46 -0700
commita2f2ddbf2bafdbc7e4f3bbf09439b42c8fee2747 (patch)
tree0b027ad2957530c457b2589d96c361232eabe740
parentocfs2: Add ioctl for reflink. (diff)
downloadlinux-dev-a2f2ddbf2bafdbc7e4f3bbf09439b42c8fee2747.tar.xz
linux-dev-a2f2ddbf2bafdbc7e4f3bbf09439b42c8fee2747.zip
ocfs2: __ocfs2_abort() should not enable panic for local mounts
In a clustered setup, we have to panic the box on journal abort. This is because we don't have the facility to go hard readonly. With hard ro, another node would detect node failure and initiate recovery. Having said that, we shouldn't force panic if the volume is mounted locally. This patch defers the handling to the mount option, errors. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com>
-rw-r--r--fs/ocfs2/super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index 8b6062176970..154e62522b05 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -2494,7 +2494,8 @@ void __ocfs2_abort(struct super_block* sb,
/* Force a panic(). This stinks, but it's better than letting
* things continue without having a proper hard readonly
* here. */
- OCFS2_SB(sb)->s_mount_opt |= OCFS2_MOUNT_ERRORS_PANIC;
+ if (!ocfs2_mount_local(OCFS2_SB(sb)))
+ OCFS2_SB(sb)->s_mount_opt |= OCFS2_MOUNT_ERRORS_PANIC;
ocfs2_handle_error(sb);
}