git: 243a0eda9ace - main - Increase the maximum size of the journaled soft-updates journal.
Date: Fri, 21 Oct 2022 18:00:48 UTC
The branch main has been updated by mckusick:
URL: https://cgit.FreeBSD.org/src/commit/?id=243a0eda9ace2f4d9cdd5291c352816ddc9ebdb2
commit 243a0eda9ace2f4d9cdd5291c352816ddc9ebdb2
Author: Kirk McKusick <mckusick@FreeBSD.org>
AuthorDate: 2022-10-21 18:00:00 +0000
Commit: Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2022-10-21 18:00:00 +0000
Increase the maximum size of the journaled soft-updates journal.
The size of the journaled soft-updates journal should be big enough
to hold two minutes of filesystem metadata-update activity. The
maximum size of the soft updates journal was set in the 1990s. At
the time it was assummed that disk arrays would top out at 16 drives
and disk writes per drive would top out at 500 per second. Today's
I/O subsystems are considerably bigger and faster than those limits.
Thus this delta removes the hard upper limit and lets tunefs(8) and
newfs(8) set the upper bound based on the size of the filesystem and
its cylinder groups.
Sponsored by: The FreeBSD Foundation
---
sbin/tunefs/tunefs.c | 1 -
sys/ufs/ffs/fs.h | 1 -
2 files changed, 2 deletions(-)
diff --git a/sbin/tunefs/tunefs.c b/sbin/tunefs/tunefs.c
index e59b583ea58b..11956f946ff5 100644
--- a/sbin/tunefs/tunefs.c
+++ b/sbin/tunefs/tunefs.c
@@ -976,7 +976,6 @@ journal_alloc(int64_t size)
*/
if (size == 0) {
size = (sblock.fs_size * sblock.fs_bsize) / 1024;
- size = MIN(SUJ_MAX, size);
if (size / sblock.fs_fsize > sblock.fs_fpg)
size = sblock.fs_fpg * sblock.fs_fsize;
size = MAX(SUJ_MIN, size);
diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h
index bd2b9157e467..c2279c183fc5 100644
--- a/sys/ufs/ffs/fs.h
+++ b/sys/ufs/ffs/fs.h
@@ -806,7 +806,6 @@ lbn_offset(struct fs *fs, int level)
#define JREC_SIZE 32 /* Record and segment header size. */
#define SUJ_MIN (4 * 1024 * 1024) /* Minimum journal size */
-#define SUJ_MAX (32 * 1024 * 1024) /* Maximum journal size */
#define SUJ_FILE ".sujournal" /* Journal file name */
/*