Skip to contentSkip to conversation

fs/ext4: caculate log2blksz from blksz, other its value = 0

PATCH New Lan Yixun (dlan) 2 participants 5 messages Jun 27, 2013 – Jul 19, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fs/ext4: caculate log2blksz from blksz, other its value = 0

From: "Lan Yixun (dlan)" <[email protected]>

err:
lt703a # ext4ls nand 3:0
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

bug may introduced by commit:

commit 50ce4c07df1c98aabf4630b35152ed95a87242f7

Author: Egbert Eich <[email protected]>
Date:   Wed May 1 01:13:19 2013 +0000
    fs/ext4: Support device block sizes != 512 bytes
---
 disk/part.c | 4 ++++
 1 file changed, 4 insertions(+)
disk/part.c +4 -0
index fc8404d..dbc94c4 100644
@@ -551,6 +551,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
 			goto cleanup;
 		}
 
+		(*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
 		info->start = 0;
 		info->size = (*dev_desc)->lba;
 		info->blksz = (*dev_desc)->blksz;
@@ -634,6 +636,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
 		goto cleanup;
 	}
 
+	(*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
 	ret = part;
 	goto cleanup;
 
Signature · 1 line
1.8.2.1
#1 lore raw

PATCH 1/1 fs/ext4: caculate log2blksz from blksz, other its value = 0

Hi Lan,

Quoted 7 lines · Lan Yixun (dlan)

From: "Lan Yixun (dlan)" <[email protected]>

err:
lt703a # ext4ls nand 3:0
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

Quoted 7 lines

bug may introduced by commit:

commit 50ce4c07df1c98aabf4630b35152ed95a87242f7

Author: Egbert Eich <[email protected]>
Date:   Wed May 1 01:13:19 2013 +0000
    fs/ext4: Support device block sizes != 512 bytes

Please make the commit summary a description of what is wrong and how it is fixed, and move the context (how the bug was found, console output, etc) after the commit message separator '---' below.

Also, fix probably typo in the commit summary (first commit message line) ("other" for "otherwise").

Quoted 19 lines
---
 disk/part.c | 4 ++++
 1 file changed, 4 insertions(+)
disk/part.c +2 -0
index fc8404d..dbc94c4 100644
@@ -551,6 +551,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
 			goto cleanup;
 		}
 
+		(*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
 		info->start = 0;
 		info->size = (*dev_desc)->lba;
 		info->blksz = (*dev_desc)->blksz;

disk/part.c int get_device_and_partition(const char *ifname, const char *dev_part_str, · line 643

Quoted 8 lines
disk/part.c +2 -0
@@ -634,6 +636,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
 		goto cleanup;
 	}
 
+	(*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
 	ret = part;
 	goto cleanup;
 

Amicalement,

Signature · 1 line
Albert.
#2 lore raw

PATCH 1/1 fs/ext4: caculate log2blksz from blksz, other its value = 0

Hi Albert, Eich

Quoted 18 lines · Albert ARIBAUD

Hi Lan,

Quoted 13 lines · Lan Yixun (dlan)

From: "Lan Yixun (dlan)" <[email protected]>

err:
lt703a # ext4ls nand 3:0
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

bug may introduced by commit:

commit 50ce4c07df1c98aabf4630b35152ed95a87242f7

Author: Egbert Eich <[email protected]>
Date:   Wed May 1 01:13:19 2013 +0000
Quoted 9 lines
Quoted 1 line
    fs/ext4: Support device block sizes != 512 bytes

Please make the commit summary a description of what is wrong and how it is fixed, and move the context (how the bug was found, console output, etc) after the commit message separator '---' below.

Also, fix probably typo in the commit summary (first commit message line) ("other" for "otherwise").

Thanks for your comments
I'm sending this patch mainly for pre-review, Eich, Can you have a look? Since you are original patch author.

The problem here is that uboot can't mount ext4 filesystem with commit "50ce4c07df1" applied. As I looking into the code,
we use hard-coded "SECTOR_SIZE"(512) previously,
but now we introduce (block_dev_desc_t *)->log2blksz,
and problem here is that I couldn't find where/when this value been set. And after calling do_ls()->fs_set_blk_dev(), the value of log2blksz we got is still 0 (initialized value), which I think it's not correct. As I haven't dig too much into the code, and just cook this as a quick fix..

I'm trying to solve this by calculating log2blksz from blksz.

Quoted 32 lines
Quoted 19 lines
---
 disk/part.c | 4 ++++
 1 file changed, 4 insertions(+)
disk/part.c +2 -0
index fc8404d..dbc94c4 100644
@@ -551,6 +551,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
                      goto cleanup;
              }
 
+             (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
              info->start = 0;
              info->size = (*dev_desc)->lba;
              info->blksz = (*dev_desc)->blksz;

disk/part.c int get_device_and_partition(const char *ifname, const char *dev_part_str, · line 643

Quoted 8 lines
disk/part.c +2 -0
@@ -634,6 +636,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
              goto cleanup;
      }
 
+     (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
      ret = part;
      goto cleanup;
 

Amicalement,
--
Albert.

#3 lore raw

PATCH 1/1 fs/ext4: caculate log2blksz from blksz, other its value = 0

Quoted 44 lines · Dennis Lan (dlan)

Hi Albert, Eich

Quoted 18 lines · Albert ARIBAUD

Hi Lan,

Quoted 13 lines · Lan Yixun (dlan)

From: "Lan Yixun (dlan)" <[email protected]>

err:
lt703a # ext4ls nand 3:0
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

bug may introduced by commit:

commit 50ce4c07df1c98aabf4630b35152ed95a87242f7

Author: Egbert Eich <[email protected]>
Date:   Wed May 1 01:13:19 2013 +0000
Quoted 9 lines
Quoted 1 line
    fs/ext4: Support device block sizes != 512 bytes

Please make the commit summary a description of what is wrong and how it is fixed, and move the context (how the bug was found, console output, etc) after the commit message separator '---' below.

Also, fix probably typo in the commit summary (first commit message line) ("other" for "otherwise").

Thanks for your comments
I'm sending this patch mainly for pre-review, Eich, Can you have a look? Since you are original patch author.

The problem here is that uboot can't mount ext4 filesystem with commit "50ce4c07df1" applied. As I looking into the code,
we use hard-coded "SECTOR_SIZE"(512) previously,
but now we introduce (block_dev_desc_t *)->log2blksz,
and problem here is that I couldn't find where/when this value been set. And after calling do_ls()->fs_set_blk_dev(), the value of log2blksz we got is still 0 (initialized value), which I think it's not correct. As I haven't dig too much into the code, and just cook this as a quick fix..

Quoted 36 lines

I'm trying to solve this by calculating log2blksz from blksz.

Quoted 32 lines
Quoted 19 lines
---
 disk/part.c | 4 ++++
 1 file changed, 4 insertions(+)
disk/part.c +2 -0
index fc8404d..dbc94c4 100644
@@ -551,6 +551,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
                      goto cleanup;
              }
 
+             (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
              info->start = 0;
              info->size = (*dev_desc)->lba;
              info->blksz = (*dev_desc)->blksz;

disk/part.c int get_device_and_partition(const char *ifname, const char *dev_part_str, · line 643

Quoted 8 lines
disk/part.c +2 -0
@@ -634,6 +636,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
              goto cleanup;
      }
 
+     (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
      ret = part;
      goto cleanup;
 

Amicalement,
--
Albert.

hi Eich, Albert:

ping, any comments? or should I send another patch as v2?

#4 lore raw

PATCH 1/1 fs/ext4: caculate log2blksz from blksz, other its value = 0

Hi Dennis,

Quoted 83 lines · Dennis Lan (dlan)
Quoted 44 lines · Dennis Lan (dlan)

Hi Albert, Eich

Quoted 18 lines · Albert ARIBAUD

Hi Lan,

Quoted 13 lines · Lan Yixun (dlan)

From: "Lan Yixun (dlan)" <[email protected]>

err:
lt703a # ext4ls nand 3:0
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **

bug may introduced by commit:

commit 50ce4c07df1c98aabf4630b35152ed95a87242f7

Author: Egbert Eich <[email protected]>
Date:   Wed May 1 01:13:19 2013 +0000
Quoted 9 lines
Quoted 1 line
    fs/ext4: Support device block sizes != 512 bytes

Please make the commit summary a description of what is wrong and how it is fixed, and move the context (how the bug was found, console output, etc) after the commit message separator '---' below.

Also, fix probably typo in the commit summary (first commit message line) ("other" for "otherwise").

Thanks for your comments
I'm sending this patch mainly for pre-review, Eich, Can you have a look? Since you are original patch author.

The problem here is that uboot can't mount ext4 filesystem with commit "50ce4c07df1" applied. As I looking into the code,
we use hard-coded "SECTOR_SIZE"(512) previously,
but now we introduce (block_dev_desc_t *)->log2blksz,
and problem here is that I couldn't find where/when this value been set. And after calling do_ls()->fs_set_blk_dev(), the value of log2blksz we got is still 0 (initialized value), which I think it's not correct. As I haven't dig too much into the code, and just cook this as a quick fix..

Quoted 36 lines

I'm trying to solve this by calculating log2blksz from blksz.

Quoted 32 lines
Quoted 19 lines
---
 disk/part.c | 4 ++++
 1 file changed, 4 insertions(+)
disk/part.c +2 -0
index fc8404d..dbc94c4 100644
@@ -551,6 +551,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
                      goto cleanup;
              }
 
+             (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
              info->start = 0;
              info->size = (*dev_desc)->lba;
              info->blksz = (*dev_desc)->blksz;

disk/part.c int get_device_and_partition(const char *ifname, const char *dev_part_str, · line 643

Quoted 8 lines
disk/part.c +2 -0
@@ -634,6 +636,8 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
              goto cleanup;
      }
 
+     (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz);
+
      ret = part;
      goto cleanup;
 

Amicalement,
--
Albert.

Quoted 3 lines

hi Eich, Albert:

ping, any comments? or should I send another patch as v2?

Well, you've had comments already from me, and it's been three weeks, so I reckon any other comment would have popped up by now.

Amicalement,

Signature · 1 line
Albert.