lkml.org 
[lkml]   [2016]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/4] befs: add check for ag_shift in superblock
    Date
    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 <luisbg@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
    \
     
     \ /
      Last update: 2016-08-10 00:41    [W:2.088 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site