On Tue, Aug 09, 2016 at 11:01:24PM +0100, Luis de Bethencourt wrote: > ag_shift and blocks_per_ag contain the same information in different ways, > same as block_shift and block_size do. It is worth checking this two are > consistent, but since blocks_per_ag isn't documented as mandatory to use > some implementations of befs don't enforce this, so making it non-fatal if > they don't match and just having it as a warning. > > Signed-off-by: Luis de Bethencourt <lui...@osg.samsung.com> > --- > fs/befs/super.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/fs/befs/super.c b/fs/befs/super.c > index dc13df8..c36745d 100644 > --- a/fs/befs/super.c > +++ b/fs/befs/super.c > @@ -103,6 +103,13 @@ befs_check_sb(struct super_block *sb) > return BEFS_ERR; > } > > + > + /* ag_shift also encodes the same information as blocks_per_ag in a > + * different way, non-fatal consistency check > + */ > + if ((1 << befs_sb->ag_shift) != befs_sb->blocks_per_ag) > + befs_error(sb, "ag_shift disagrees with blocks_per_ag."); > + > if (befs_sb->log_start != befs_sb->log_end || befs_sb->flags == > BEFS_DIRTY) { > befs_error(sb, "Filesystem not clean! There are blocks in the " > "journal. You must boot into BeOS and mount this > volume " > -- > 2.5.1 >
Signed-off-by: Salah Triki <salah.tr...@gmail.com> Thanx :) Salah