The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2126f103e0434db6ca34f0a5167bf5f03d4f02ad
commit 2126f103e0434db6ca34f0a5167bf5f03d4f02ad Author: Konstantin Belousov <k...@freebsd.org> AuthorDate: 2021-06-15 10:23:44 +0000 Commit: Konstantin Belousov <k...@freebsd.org> CommitDate: 2021-06-23 20:47:05 +0000 ffs_softdep.c: add journal_check_space() helper Reviewed by: mckusick Discussed with: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D30041 --- sys/ufs/ffs/ffs_softdep.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index d274e0898dfb..efb63d94af31 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -3222,6 +3222,19 @@ journal_unsuspend(struct ufsmount *ump) return (0); } +static void +journal_check_space(ump) + struct ufsmount *ump; +{ + LOCK_OWNED(ump); + + if (journal_space(ump, 0) == 0) { + softdep_speedup(ump); + if (journal_space(ump, 1) == 0) + journal_suspend(ump); + } +} + /* * Called before any allocation function to be certain that there is * sufficient space in the journal prior to creating any new records. @@ -3272,11 +3285,7 @@ softdep_prealloc(vp, waitok) ACQUIRE_LOCK(ump); process_removes(vp); process_truncates(vp); - if (journal_space(ump, 0) == 0) { - softdep_speedup(ump); - if (journal_space(ump, 1) == 0) - journal_suspend(ump); - } + journal_check_space(ump); FREE_LOCK(ump); return (0); @@ -3363,11 +3372,7 @@ softdep_prerename(fdvp, fvp, tdvp, tvp) ACQUIRE_LOCK(ump); softdep_speedup(ump); process_worklist_item(UFSTOVFS(ump), 2, LK_NOWAIT); - if (journal_space(ump, 0) == 0) { - softdep_speedup(ump); - if (journal_space(ump, 1) == 0) - journal_suspend(ump); - } + journal_check_space(ump); FREE_LOCK(ump); return (ERELOOKUP); } @@ -3460,11 +3465,7 @@ softdep_prelink(dvp, vp, cnp) softdep_speedup(ump); process_worklist_item(UFSTOVFS(ump), 2, LK_NOWAIT); - if (journal_space(ump, 0) == 0) { - softdep_speedup(ump); - if (journal_space(ump, 1) == 0) - journal_suspend(ump); - } + journal_check_space(ump); FREE_LOCK(ump); vn_lock_pair(dvp, false, vp, false); _______________________________________________ dev-commits-src-main@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main To unsubscribe, send any mail to "dev-commits-src-main-unsubscr...@freebsd.org"