Mercurial > unleashed > wips
changeset 20265:93ddddf9b70c
svc/seed: initialize db files on tmpfs
manifest-import is really slow on persistent storage, because
sqliteOsSync gets called a lot (maybe for every sqlite operation?)
author | Lauri Tirkkonen <lotheac@iki.fi> |
---|---|
date | Wed, 09 Jan 2019 18:21:27 +0200 |
parents | 27b901ae31c4 |
children | dbc881e1b3d4 |
files | usr/src/cmd/svc/seed/Makefile |
diffstat | 1 files changed, 20 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/cmd/svc/seed/Makefile Tue Jan 08 17:25:03 2019 +0200 +++ b/usr/src/cmd/svc/seed/Makefile Wed Jan 09 18:21:27 2019 +0200 @@ -126,36 +126,30 @@ @cd ../milestone; pwd; $(MAKE) $(MFLAGS) console-login.xml common.db: $(COMMON_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) - $(RM) -f common.db common.db-journal - for m in $(COMMON_DESCRIPTIONS); do \ - echo $$m; \ - SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ - SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/common.db \ - SVCCFG_CONFIGD_PATH=$(CONFIGD) \ - $(SVCCFG) import $$m; \ - done + $(RM) -f common.db + mf=$$(mktemp /tmp/$@.XXXXXXXXXX);\ + SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ + SVCCFG_REPOSITORY=$$mf SVCCFG_CONFIGD_PATH=$(CONFIGD) \ + $(SVCCFG) import $(COMMON_DESCRIPTIONS); \ + mv $$mf $@ global.db: common.db $(GLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) - $(RM) -f global.db global.db-journal - $(CP) common.db global.db - for m in $(GLOBAL_ZONE_DESCRIPTIONS); do \ - echo $$m; \ - SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ - SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \ - SVCCFG_CONFIGD_PATH=$(CONFIGD) \ - $(SVCCFG) import $$m; \ - done + $(RM) -f global.db + mf=$$(mktemp /tmp/$@.XXXXXXXXXX);\ + $(CP) common.db $$mf; \ + SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ + SVCCFG_REPOSITORY=$$mf SVCCFG_CONFIGD_PATH=$(CONFIGD) \ + $(SVCCFG) import $(GLOBAL_ZONE_DESCRIPTIONS); \ + mv $$mf $@ nonglobal.db: common.db $(NONGLOBAL_ZONE_DESCRIPTIONS) $(CONFIGD) $(SVCCFG) - $(RM) -f nonglobal.db nonglobal.db-journal - $(CP) common.db nonglobal.db - for m in $(NONGLOBAL_ZONE_DESCRIPTIONS); do \ - echo $$m; \ - SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ - SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/nonglobal.db \ - SVCCFG_CONFIGD_PATH=$(CONFIGD) \ - $(SVCCFG) import $$m; \ - done + $(RM) -f nonglobal.db + mf=$$(mktemp /tmp/$@.XXXXXXXXXX);\ + $(CP) common.db $$mf; \ + SVCCFG_DTD=../dtd/service_bundle.dtd.1 \ + SVCCFG_REPOSITORY=$$mf SVCCFG_CONFIGD_PATH=$(CONFIGD) \ + $(SVCCFG) import $(NONGLOBAL_ZONE_DESCRIPTIONS); \ + mv $$mf $@ install: install_global install_nonglobal