[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ocfs2-commits
Subject:    [Ocfs2-commits] manish commits r2195 - trunk/fs/ocfs2
From:       svn-commits () oss ! oracle ! com (svn-commits () oss ! oracle ! com)
Date:       2005-04-28 16:50:22
Message-ID: 200504282150.j3SLoLgs023385 () oss ! oracle ! com
[Download RAW message or body]

Author: manish
Signed-off-by: jlbec
Signed-off-by: mfasheh
Date: 2005-04-28 16:50:19 -0500 (Thu, 28 Apr 2005)
New Revision: 2195

Modified:
   trunk/fs/ocfs2/ocfs2_fs.h
   trunk/fs/ocfs2/super.c
Log:
We're not big endian safe yet, but we're going to have limited support for
zLinux for 1.0. mkfs will stamp down an incompat flag, and we'll only honor
it on s390.

Signed-off-by: jlbec
Signed-off-by: mfasheh


Modified: trunk/fs/ocfs2/ocfs2_fs.h
===================================================================
--- trunk/fs/ocfs2/ocfs2_fs.h	2005-04-28 21:42:25 UTC (rev 2194)
+++ trunk/fs/ocfs2/ocfs2_fs.h	2005-04-28 21:50:19 UTC (rev 2195)
@@ -86,10 +86,21 @@
 	OCFS2_SB(sb)->s_feature_incompat &= ~(mask)
 
 #define OCFS2_FEATURE_COMPAT_SUPP	0
-#define OCFS2_FEATURE_INCOMPAT_SUPP	0
 #define OCFS2_FEATURE_RO_COMPAT_SUPP	0
 
+/* We're not big endian safe yet. But it has been decreed that the
+ * unwashed zLinux masses must be appeased, lest they storm the castle
+ * with rakes and pitchforks. Thus...
+ */
+#ifdef CONFIG_ARCH_S390
+#define OCFS2_FEATURE_INCOMPAT_B0RKEN_ENDIAN	0x0001
 
+#define OCFS2_FEATURE_INCOMPAT_SUPP	OCFS2_FEATURE_INCOMPAT_B0RKEN_ENDIAN
+#else
+#define OCFS2_FEATURE_INCOMPAT_SUPP	0
+#endif
+
+
 /*
  * Flags on ocfs2_dinode.i_flags
  */

Modified: trunk/fs/ocfs2/super.c
===================================================================
--- trunk/fs/ocfs2/super.c	2005-04-28 21:42:25 UTC (rev 2194)
+++ trunk/fs/ocfs2/super.c	2005-04-28 21:50:19 UTC (rev 2195)
@@ -1082,6 +1082,14 @@
 	osb->s_feature_incompat =
 		le32_to_cpu(OCFS2_RAW_SB(di)->s_feature_incompat);
 
+#ifdef CONFIG_ARCH_S390
+	if (!OCFS2_HAS_INCOMPAT_FEATURE(osb->sb, OCFS2_FEATURE_INCOMPAT_B0RKEN_ENDIAN)) {
+		mlog(ML_ERROR, "couldn't mount because of endian mismatch\n");
+		status = -EINVAL;
+		goto bail;
+	}
+#endif
+
 	if ((i = OCFS2_HAS_INCOMPAT_FEATURE(osb->sb, ~OCFS2_FEATURE_INCOMPAT_SUPP))) {
 		mlog(ML_ERROR, "couldn't mount because of unsupported "
 		     "optional features (%x).\n", i);

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic