All of lore.kernel.org
 help / color / mirror / Atom feed
* SILO fails to read silo.conf from EXT4 FS
@ 2012-07-29 11:35 Raúl Porcel
  2012-08-15 23:57 ` David Miller
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Raúl Porcel @ 2012-07-29 11:35 UTC (permalink / raw)
  To: sparclinux

Hi,

With the rewrite of the e2fs part of SILO, its unable to read 
/etc/silo.conf from an EXT4 FS. It can read from EXT2 and EXT3, though.

Dumpe2fs from the partition where silo.conf is located:

dumpe2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /
Filesystem UUID:          6027fece-1dd0-4d2e-8f03-c182f8101ed8
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index 
filetype needs_recovery extent flex_bg sparse_super large_file huge_file 
uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              2084880
Block count:              8334336
Reserved block count:     416716
Free blocks:              7654482
Free inodes:              1844855
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1022
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8176
Inode blocks per group:   511
Flex block group size:    16
Filesystem created:       Sun Jul 29 12:49:50 2012
Last mount time:          Sun Jul 29 13:28:47 2012
Last write time:          Sun Jul 29 13:27:35 2012
Mount count:              2
Maximum mount count:      -1
Last checked:             Sun Jul 29 12:49:50 2012
Check interval:           0 (<none>)
Lifetime writes:          132 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      5e059fc0-418d-4c25-b1ce-afbf97717450
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             128M
Journal length:           32768
Journal sequence:         0x000000a3
Journal start:            1



Log from boot:


Rebooting with command: boot 

Boot device: disk1  File and args: 

SILO Version 1.4.14_git2012226_p1 

 

Cannot find /etc/silo.conf (error: 4294967295) 

 

Couldn't load /etc/silo.conf 

No config file loaded, you can boot just from this command line 

Type [prompath;]part/path_to_image [parameters] on the prompt 

E.g. /iommu/sbus/espdma/esp/sd@3,0;4/vmlinux root=/dev/sda4 

or 2/vmlinux.live (to load vmlinux.live from 2nd partition of boot disk) 

boot:

Obviously the version where it used the e2fsprogs libs works fine.

Thanks

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SILO fails to read silo.conf from EXT4 FS
  2012-07-29 11:35 SILO fails to read silo.conf from EXT4 FS Raúl Porcel
@ 2012-08-15 23:57 ` David Miller
  2012-08-16  3:17 ` David Miller
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2012-08-15 23:57 UTC (permalink / raw)
  To: sparclinux

From: Raúl Porcel <armin76@gentoo.org>
Date: Sun, 29 Jul 2012 13:35:54 +0200

> With the rewrite of the e2fs part of SILO, its unable to read
> /etc/silo.conf from an EXT4 FS. It can read from EXT2 and EXT3,
> though.
> 
> Dumpe2fs from the partition where silo.conf is located:

Thanks for the report, I'll try to fix this.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SILO fails to read silo.conf from EXT4 FS
  2012-07-29 11:35 SILO fails to read silo.conf from EXT4 FS Raúl Porcel
  2012-08-15 23:57 ` David Miller
@ 2012-08-16  3:17 ` David Miller
  2012-08-18 16:02 ` Raúl Porcel
  2012-08-19  4:51 ` David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2012-08-16  3:17 UTC (permalink / raw)
  To: sparclinux

From: Raúl Porcel <armin76@gentoo.org>
Date: Sun, 29 Jul 2012 13:35:54 +0200

> With the rewrite of the e2fs part of SILO, its unable to read
> /etc/silo.conf from an EXT4 FS. It can read from EXT2 and EXT3,
> though.

There are some minor errors in the extent leaf traversal, can you try
this patch below?

If this fails I'll give you a patch which adds some tracing so we can
diagnose this further.

Thanks!

diff --git a/second/fs/ext2.c b/second/fs/ext2.c
index 7eb665f..018aced 100644
--- a/second/fs/ext2.c
+++ b/second/fs/ext2.c
@@ -147,7 +147,7 @@ static struct ext4_extent_header *search_leaf(struct silo_ext2_state *s,
 			return ehp;
 
 		for (i = 0; i < ext2_to_cpu_16(ehp->eh_entries); i++, idxp++)
-			if (ext2_to_cpu_32(idxp->ei_block) > file_block)
+			if (file_block < ext2_to_cpu_32(idxp->ei_block))
 				break;
 
 		if (i = 0)
@@ -226,14 +226,15 @@ static unsigned long long resolve_extent(struct silo_ext2_state *s,
 	ep = (struct ext4_extent *) (ehp + 1);
 
 	for (i = 0; i < ext2_to_cpu_16(ehp->eh_entries); i++, ep++)
-		if (ext2_to_cpu_32(ep->ee_block) > file_block)
+		if (file_block < ext2_to_cpu_32(ep->ee_block))
 			break;
 
 	if (i = 0)
 		return BLOCK_MAP_ERROR;
 
+	ep -= 1;
 	file_block -= ext2_to_cpu_32(ep->ee_block);
-	if (ext2_to_cpu_16(ep->ee_len) < file_block)
+	if (file_block >= ext2_to_cpu_16(ep->ee_len))
 		return BLOCK_MAP_ERROR;
 
 	hi = ((unsigned long long)ext2_to_cpu_16(ep->ee_start_hi)) << 32;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: SILO fails to read silo.conf from EXT4 FS
  2012-07-29 11:35 SILO fails to read silo.conf from EXT4 FS Raúl Porcel
  2012-08-15 23:57 ` David Miller
  2012-08-16  3:17 ` David Miller
@ 2012-08-18 16:02 ` Raúl Porcel
  2012-08-19  4:51 ` David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: Raúl Porcel @ 2012-08-18 16:02 UTC (permalink / raw)
  To: sparclinux

On 08/16/12 05:17, David Miller wrote:
> From: Raúl Porcel<armin76@gentoo.org>
> Date: Sun, 29 Jul 2012 13:35:54 +0200
>
>> With the rewrite of the e2fs part of SILO, its unable to read
>> /etc/silo.conf from an EXT4 FS. It can read from EXT2 and EXT3,
>> though.
>
> There are some minor errors in the extent leaf traversal, can you try
> this patch below?
>
> If this fails I'll give you a patch which adds some tracing so we can
> diagnose this further.
>
> Thanks!
>
>[snip]

That fixed it.

Thanks!



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SILO fails to read silo.conf from EXT4 FS
  2012-07-29 11:35 SILO fails to read silo.conf from EXT4 FS Raúl Porcel
                   ` (2 preceding siblings ...)
  2012-08-18 16:02 ` Raúl Porcel
@ 2012-08-19  4:51 ` David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2012-08-19  4:51 UTC (permalink / raw)
  To: sparclinux

From: Raúl Porcel <armin76@gentoo.org>
Date: Sat, 18 Aug 2012 18:02:40 +0200

> On 08/16/12 05:17, David Miller wrote:
>> From: Raúl Porcel<armin76@gentoo.org>
>> Date: Sun, 29 Jul 2012 13:35:54 +0200
>>
>>> With the rewrite of the e2fs part of SILO, its unable to read
>>> /etc/silo.conf from an EXT4 FS. It can read from EXT2 and EXT3,
>>> though.
>>
>> There are some minor errors in the extent leaf traversal, can you try
>> this patch below?
>>
>> If this fails I'll give you a patch which adds some tracing so we can
>> diagnose this further.
>>
>> Thanks!
>>
>>[snip]
> 
> That fixed it.

And now committed to git, thanks a lot for testing.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-19  4:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-29 11:35 SILO fails to read silo.conf from EXT4 FS Raúl Porcel
2012-08-15 23:57 ` David Miller
2012-08-16  3:17 ` David Miller
2012-08-18 16:02 ` Raúl Porcel
2012-08-19  4:51 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.