The size of the UFS soft-updates journal must be a multiple of the

filesystem block size. When a size is specified with the -S flag
to tunefs(8), round it up to the filesystem block size.

Reported by:  Peter Holm
Tested by:    Peter Holm
Sponsored by: Netflix
This commit is contained in:
mckusick 2019-03-02 21:22:56 +00:00
parent 98f1b8096d
commit 778bf100cf

View File

@ -971,9 +971,9 @@ journal_alloc(int64_t size)
if (size / sblock.fs_fsize > sblock.fs_fpg)
size = sblock.fs_fpg * sblock.fs_fsize;
size = MAX(SUJ_MIN, size);
/* fsck does not support fragments in journal files. */
size = roundup(size, sblock.fs_bsize);
}
/* fsck does not support fragments in journal files. */
size = roundup(size, sblock.fs_bsize);
resid = blocks = size / sblock.fs_bsize;
if (sblock.fs_cstotal.cs_nbfree < blocks) {
warn("Insufficient free space for %jd byte journal", size);