• Srinivasa Ds's avatar
    [GFS2] Mount problem with the GFS2 code · 0da3585e
    Srinivasa Ds authored
      While mounting the gfs2 filesystem,our test team had a problem and we
    got this error message.
    =======================================================
    
    GFS2: fsid=: Trying to join cluster "lock_nolock", "dasde1"
    GFS2: fsid=dasde1.0: Joined cluster. Now mounting FS...
    GFS2: not a GFS2 filesystem
    GFS2: fsid=dasde1.0: can't read superblock: -22
    
    ==========================================================================
    On debugging further we found that problem is while reading the super
    block(gfs2_read_super) and comparing the magic number in it.
    When I  replace the submit_bio() call(present in gfs2_read_super) with
    the sb_getblk() and ll_rw_block(), mount operation succeded.
    On further analysis we found that before calling submit_bio(),
    bio->bi_sector was set to "sector" variable. This "sector" variable has
    the same value of bh->b_blocknr(block number). Hence there is a need to
    multiply this valuwith (blocksize >> 9)(9 because,sector size
    2^9,samething happens in ll_rw_block also, before calling submit_bio()).
    So I have developed the patch which solves this problem. Please let me
    know your comments.
    ================================================================
    Signed-off-by: default avatarSrinivasa DS <srinivasa@in.ibm.com>
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    0da3585e
super.c 21.9 KB