[Ocfs2-commits] manish commits r2195 - trunk/fs/ocfs2

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu Apr 28 16:50:21 CDT 2005


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



More information about the Ocfs2-commits mailing list