git: 2126f103e043 - main - ffs_softdep.c: add journal_check_space() helper
Konstantin Belousov
kib at FreeBSD.org
Wed Jun 23 20:47:35 UTC 2021
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=2126f103e0434db6ca34f0a5167bf5f03d4f02ad
commit 2126f103e0434db6ca34f0a5167bf5f03d4f02ad
Author: Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-06-15 10:23:44 +0000
Commit: Konstantin Belousov <kib at 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);
More information about the dev-commits-src-all
mailing list