| @@ -171,7 +171,8 @@ static int gfs2_check_sb(struct gfs2_sbd *sdp, int silent) · 170 unmodified lines |
| 171 | return -EINVAL; | 171 | return -EINVAL; |
| 172 | } | 172 | } |
| 173 | | 173 | |
| 174 | if (sb->sb_fs_format != GFS2_FORMAT_FS || | 174 | if (sb->sb_fs_format < GFS2_FS_FORMAT_MIN || |
| | 175 | sb->sb_fs_format > GFS2_FS_FORMAT_MAX || |
| 175 | sb->sb_multihost_format != GFS2_FORMAT_MULTI) { | 176 | sb->sb_multihost_format != GFS2_FORMAT_MULTI) { |
| 176 | fs_warn(sdp, "Unknown on-disk format, unable to mount\n"); | 177 | fs_warn(sdp, "Unknown on-disk format, unable to mount\n"); |
| 177 | return -EINVAL; | 178 | return -EINVAL; |
| @@ -1032,13 +1033,14 @@ hostdata_error: · 854 unmodified lines |
| 1032 | } | 1033 | } |
| 1033 | | 1034 | |
| 1034 | if (lm->lm_mount == NULL) { | 1035 | if (lm->lm_mount == NULL) { |
| 1035 | fs_info(sdp, "Now mounting FS...\n"); | 1036 | fs_info(sdp, "Now mounting FS (format %u)...\n", sdp->sd_sb.sb_fs_format); |
| 1036 | complete_all(&sdp->sd_locking_init); | 1037 | complete_all(&sdp->sd_locking_init); |
| 1037 | return 0; | 1038 | return 0; |
| 1038 | } | 1039 | } |
| 1039 | ret = lm->lm_mount(sdp, table); | 1040 | ret = lm->lm_mount(sdp, table); |
| 1040 | if (ret == 0) | 1041 | if (ret == 0) |
| 1041 | fs_info(sdp, "Joined cluster. Now mounting FS...\n"); | 1042 | fs_info(sdp, "Joined cluster. Now mounting FS (format %u)...\n", |
| | 1043 | sdp->sd_sb.sb_fs_format); |
| 1042 | complete_all(&sdp->sd_locking_init); | 1044 | complete_all(&sdp->sd_locking_init); |
| 1043 | return ret; | 1045 | return ret; |
| 1044 | } | 1046 | } |
| @@ -1157,6 +1159,10 @@ static int gfs2_fill_super(struct super_block *sb, struct fs_context *fc) · 112 unmodified lines |
| 1157 | if (error) | 1159 | if (error) |
| 1158 | goto fail_locking; | 1160 | goto fail_locking; |
| 1159 | | 1161 | |
| | 1162 | /* Turn rgrplvb on by default if fs format is recent enough */ |
| | 1163 | if (!sdp->sd_args.ar_got_rgrplvb && sdp->sd_sb.sb_fs_format > 1801) |
| | 1164 | sdp->sd_args.ar_rgrplvb = 1; |
| | 1165 | |
| 1160 | error = wait_on_journal(sdp); | 1166 | error = wait_on_journal(sdp); |
| 1161 | if (error) | 1167 | if (error) |
| 1162 | goto fail_sb; | 1168 | goto fail_sb; |
| @@ -1450,6 +1456,7 @@ static int gfs2_parse_param(struct fs_context *fc, struct fs_parameter *param) · 287 unmodified lines |
| 1450 | break; | 1456 | break; |
| 1451 | case Opt_rgrplvb: | 1457 | case Opt_rgrplvb: |
| 1452 | args->ar_rgrplvb = result.boolean; | 1458 | args->ar_rgrplvb = result.boolean; |
| | 1459 | args->ar_got_rgrplvb = 1; |
| 1453 | break; | 1460 | break; |
| 1454 | case Opt_loccookie: | 1461 | case Opt_loccookie: |
| 1455 | args->ar_loccookie = result.boolean; | 1462 | args->ar_loccookie = result.boolean; |