[PATCH] [LogFS] Return -EINVAL if filesystem image doesn't match

Jörn Engel joern at logfs.org
Tue Apr 27 07:48:17 EDT 2010


On Tue, 27 April 2010 13:40:04 +0200, Jörn Engel wrote:
> On Tue, 27 April 2010 13:31:11 +0200, Paolo Minazzi wrote:
> > 
> > > If you add "rootfstype=romfs" to the command line, does the problem
> > > still exist?
> > 
> > Jorn , you are right.
> > It seems work....
> > please wait....
> 
> Ok, I'm pretty sure that logfs returns -EIO where it should return
> -EINVAL.  If filesystems are tried in alphabetical order, logfs comes
> first and -EIO tells the kernel to stop trying and panic, essentially.
> 
> Will cook up a patch...

Does the patch below solve the problem for you (without the explicit
"rootfstype=romfs")?

Jörn

-- 
One of my most productive days was throwing away 1000 lines of code.
-- Ken Thompson.


Signed-off-by: Joern Engel <joern at logfs.org>
---
 fs/logfs/super.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/logfs/super.c b/fs/logfs/super.c
index 5866ee6..f649038 100644
--- a/fs/logfs/super.c
+++ b/fs/logfs/super.c
@@ -413,7 +413,7 @@ static int __logfs_read_sb(struct super_block *sb)
 
 	page = find_super_block(sb);
 	if (!page)
-		return -EIO;
+		return -EINVAL;
 
 	ds = page_address(page);
 	super->s_size = be64_to_cpu(ds->ds_filesystem_size);
-- 
1.6.2.1




More information about the linux-mtd mailing list