Date: Wed, 7 Jul 2021 11:11:05 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: ecb63094dce6 - stable/13 - ffs_softdep.c: add journal_check_space() helper Message-ID: <202107071111.167BB564041017@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ecb63094dce6c4a77c19eba046e61ccd4094381b commit ecb63094dce6c4a77c19eba046e61ccd4094381b Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-06-15 10:23:44 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-07-07 10:50:43 +0000 ffs_softdep.c: add journal_check_space() helper (cherry picked from commit 2126f103e0434db6ca34f0a5167bf5f03d4f02ad) --- 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 f6dd5c776611..fe3af651632e 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -3199,6 +3199,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. @@ -3249,11 +3262,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); @@ -3340,11 +3349,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); } @@ -3437,11 +3442,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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107071111.167BB564041017>