summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2016-10-19 16:40:38 +0000
committerpfg <pfg@FreeBSD.org>2016-10-19 16:40:38 +0000
commit057402fa65db54e6c7eccacdddf21d930a23cb62 (patch)
treeb8a760485cbbd4b16729d775bfca3260c6dc7ba5
parent3254cfb368aca6150ed96b41feb16dc4b0b76194 (diff)
downloadFreeBSD-src-057402fa65db54e6c7eccacdddf21d930a23cb62.zip
FreeBSD-src-057402fa65db54e6c7eccacdddf21d930a23cb62.tar.gz
MFC r306332:
btree(3): don't shortcut closing if the metadata is dirty. Obtained from: NetBSD (from krb5 tree)
-rw-r--r--lib/libc/db/btree/bt_close.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/db/btree/bt_close.c b/lib/libc/db/btree/bt_close.c
index 1f85992..f1e7c8d 100644
--- a/lib/libc/db/btree/bt_close.c
+++ b/lib/libc/db/btree/bt_close.c
@@ -134,7 +134,8 @@ __bt_sync(const DB *dbp, u_int flags)
return (RET_ERROR);
}
- if (F_ISSET(t, B_INMEM | B_RDONLY) || !F_ISSET(t, B_MODIFIED))
+ if (F_ISSET(t, B_INMEM | B_RDONLY) ||
+ !F_ISSET(t, B_MODIFIED | B_METADIRTY))
return (RET_SUCCESS);
if (F_ISSET(t, B_METADIRTY) && bt_meta(t) == RET_ERROR)
OpenPOWER on IntegriCloud