From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932235AbcHKO7M (ORCPT ); Thu, 11 Aug 2016 10:59:12 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:36198 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751539AbcHKO7H (ORCPT ); Thu, 11 Aug 2016 10:59:07 -0400 Date: Thu, 11 Aug 2016 15:58:59 +0100 From: Salah Triki To: Luis de Bethencourt Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org, viro@zeniv.linux.org.uk, salah.triki@acm.org Subject: Re: [PATCH 2/4] befs: add check for ag_shift in superblock Message-ID: <20160811145859.GA4294@pc> References: <1470780086-11594-1-git-send-email-luisbg@osg.samsung.com> <1470780086-11594-2-git-send-email-luisbg@osg.samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1470780086-11594-2-git-send-email-luisbg@osg.samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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 Thanx :) Salah