Commit 611fe944 authored by Alexander Viro's avatar Alexander Viro Committed by Linus Torvalds

[PATCH] EFS set_blocksize() error handling

There doesn't seem to be any active maintainer for EFS: It's either
abandoned, or never required specific patches too badly (also quite
possible in this case). 

It went into the tree in 2.3.2 and from there to 2.6.0-test6 I see
nothing that would look like maintainer's update.  OTOH, it's read-only
and shouldn't be too badly broken (or hard to keep alive).

Outside of trunk (i.e.  in 2.4.16--) we have a backport of global 2.5
change (sb_bread()) and check for set_blocksize() failures (from Alan). 
This is the 2.6.x equivalent.
parent f07b8ab2
......@@ -218,7 +218,11 @@ int efs_fill_super(struct super_block *s, void *d, int silent)
memset(sb, 0, sizeof(struct efs_sb_info));
s->s_magic = EFS_SUPER_MAGIC;
sb_set_blocksize(s, EFS_BLOCKSIZE);
if (!sb_set_blocksize(s, EFS_BLOCKSIZE)) {
printk(KERN_ERR "EFS: device does not support %d byte blocks\n",
EFS_BLOCKSIZE);
goto out_no_fs_ul;
}
/* read the vh (volume header) block */
bh = sb_bread(s, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment