Skip to contentSkip to conversation

endianness fixes for 16T ext patches

PATCH New Eric Sandeen 1 participant 1 message Aug 29, 2006 ext2 file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 endianness fixes for 16T ext patches

Whoops... thanks for pointing this out, Stephen...

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

fs/ext2/super.c +0 -0
Index: 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);
fs/ext3/resize.c +0 -0
Index: 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;
	}
fs/ext3/super.c +0 -0
Index: 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);