[PATCH] endianness fixes for 16T ext patches

Eric Sandeen <[email protected]> Tue, 29 Aug 2006 11:50:06 -0500
Newsgroups gmane.comp.file-systems.ext2.devel,gmane.linux.kernel
Message-ID <[email protected]>
Whoops... thanks for pointing this out, Stephen...

Fix some endian errors in the 16T ext[23] patches I sent in the past couple weeks.

Signed-off-by: Eric Sandeen <[email protected]>

Index: linux-2.6.17/fs/ext2/super.c
===================================================================
--- linux-2.6.17.orig/fs/ext2/super.c
+++ linux-2.6.17/fs/ext2/super.c
@@ -514,7 +514,7 @@ static int ext2_check_descriptors (struc
 	for (i = 0; i < sbi->s_groups_count; i++)
 	{
 		if (i == sbi->s_groups_count - 1)
-			last_block = sbi->s_es->s_blocks_count - 1;
+			last_block = le32_to_cpu(sbi->s_es->s_blocks_count) - 1;
 		else
 			last_block = first_block +
 				(EXT2_BLOCKS_PER_GROUP(sb) - 1);
Index: linux-2.6.17/fs/ext3/resize.c
===================================================================
--- linux-2.6.17.orig/fs/ext3/resize.c
+++ linux-2.6.17/fs/ext3/resize.c
@@ -730,12 +730,14 @@ int ext3_group_add(struct super_block *s
 		return -EPERM;
 	}
 
-	if (es->s_blocks_count + input->blocks_count < es->s_blocks_count) {
+	if (le32_to_cpu(es->s_blocks_count) + input->blocks_count < 
+	    le32_to_cpu(es->s_blocks_count)) {
 		ext3_warning(sb, __FUNCTION__, "blocks_count overflow\n");
 		return -EINVAL;
 	}
 
-	if (es->s_inodes_count+EXT3_INODES_PER_GROUP(sb) < es->s_inodes_count) {
+	if (le32_to_cpu(es->s_inodes_count) + EXT3_INODES_PER_GROUP(sb) <
+	    le32_to_cpu(es->s_inodes_count)) {
 		ext3_warning(sb, __FUNCTION__, "inodes_count overflow\n");
 		return -EINVAL;
 	}
Index: linux-2.6.17/fs/ext3/super.c
===================================================================
--- linux-2.6.17.orig/fs/ext3/super.c
+++ linux-2.6.17/fs/ext3/super.c
@@ -1143,7 +1143,7 @@ static int ext3_check_descriptors (struc
 	for (i = 0; i < sbi->s_groups_count; i++)
 	{
 		if (i == sbi->s_groups_count - 1)
-			last_block = sbi->s_es->s_blocks_count - 1;
+			last_block = le32_to_cpu(sbi->s_es->s_blocks_count) - 1;
 		else
 			last_block = first_block +
 				(EXT3_BLOCKS_PER_GROUP(sb) - 1);



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642