From 772eedbc230b5f62c9a61a3292f5b9c4935799ee Mon Sep 17 00:00:00 2001 From: Packit Service Date: Mar 31 2021 04:20:26 +0000 Subject: Apply patch bz1779806-mkfs_gfs2_Tighten_minimum_journal_size_checks.patch patch_name: bz1779806-mkfs_gfs2_Tighten_minimum_journal_size_checks.patch present_in_specfile: true --- diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c index 412d470..09e756f 100644 --- a/gfs2/mkfs/main_mkfs.c +++ b/gfs2/mkfs/main_mkfs.c @@ -921,11 +921,17 @@ static void sbd_init(struct gfs2_sbd *sdp, struct mkfs_opts *opts, unsigned bsiz will fit. For user-provided journal sizes, limit it to half of the fs. */ if (!opts->got_jsize) { int default_jsize = default_journal_size(sdp->bsize, sdp->device.length / opts->journals); + unsigned jsize_mb; + if (default_jsize < 0) { fprintf(stderr, _("gfs2 will not fit on this device.\n")); exit(1); } - opts->jsize = (default_jsize * sdp->bsize) >> 20; + jsize_mb = (default_jsize * sdp->bsize) >> 20; + if (jsize_mb < GFS2_MIN_JSIZE) + opts->jsize = GFS2_MIN_JSIZE; + else + opts->jsize = jsize_mb; } else if ((((opts->jsize * opts->journals) << 20) / sdp->bsize) > (sdp->device.length / 2)) { unsigned max_jsize = (sdp->device.length / 2 * sdp->bsize / opts->journals) >> 20; diff --git a/tests/mkfs.at b/tests/mkfs.at index 4220567..e7ce8e8 100644 --- a/tests/mkfs.at +++ b/tests/mkfs.at @@ -78,6 +78,8 @@ AT_CLEANUP AT_SETUP([Min. journal size]) AT_KEYWORDS(mkfs.gfs2 mkfs) GFS_FSCK_CHECK([$GFS_MKFS -p lock_nolock -J 8 $GFS_TGT]) +GFS_FSCK_CHECK([$GFS_MKFS -p lock_nolock -b 1024 $GFS_TGT 511996]) +AT_CHECK([gfs2_edit -p journal0 field di_size $GFS_TGT | tr -d '\n'], 0, [8388608], [ignore]) AT_CLEANUP AT_SETUP([Max. quota change file size])