Don’t write unchanged configuration on exit; use g_settings_delay() too
Description of problem:
When you exit/launch applications which use the dconf backend, disk thrashing occurs.
Version-Release number of selected component (if applicable): dconf-0.30.0-1.fc29.x86_64
How reproducible: always
Steps to Reproduce:
- run gnome-calculator
- exit it
Actual results:
./.config/dconf/ CREATE user.8N7YRZ
./.config/dconf/ OPEN user.8N7YRZ
./.config/dconf/ MODIFY user.8N7YRZ
./.config/dconf/ MODIFY user.8N7YRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.8N7YRZ
./.config/dconf/ MOVED_FROM user.8N7YRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.R7PPRZ
./.config/dconf/ OPEN user.R7PPRZ
./.config/dconf/ MODIFY user.R7PPRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.R7PPRZ
./.config/dconf/ MOVED_FROM user.R7PPRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.VP1ORZ
./.config/dconf/ OPEN user.VP1ORZ
./.config/dconf/ MODIFY user.VP1ORZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.VP1ORZ
./.config/dconf/ MOVED_FROM user.VP1ORZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.6G3QRZ
./.config/dconf/ OPEN user.6G3QRZ
./.config/dconf/ MODIFY user.6G3QRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.6G3QRZ
./.config/dconf/ MOVED_FROM user.6G3QRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.4TBQRZ
./.config/dconf/ OPEN user.4TBQRZ
./.config/dconf/ MODIFY user.4TBQRZ
./.config/dconf/ MODIFY user.4TBQRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.4TBQRZ
./.config/dconf/ MOVED_FROM user.4TBQRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.X89RRZ
./.config/dconf/ OPEN user.X89RRZ
./.config/dconf/ MODIFY user.X89RRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.X89RRZ
./.config/dconf/ MOVED_FROM user.X89RRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.URORRZ
./.config/dconf/ OPEN user.URORRZ
./.config/dconf/ MODIFY user.URORRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.URORRZ
./.config/dconf/ MOVED_FROM user.URORRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.8GCURZ
./.config/dconf/ OPEN user.8GCURZ
./.config/dconf/ MODIFY user.8GCURZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.8GCURZ
./.config/dconf/ MOVED_FROM user.8GCURZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.ABHTRZ
./.config/dconf/ OPEN user.ABHTRZ
./.config/dconf/ MODIFY user.ABHTRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.ABHTRZ
./.config/dconf/ MOVED_FROM user.ABHTRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.3G8SRZ
./.config/dconf/ OPEN user.3G8SRZ
./.config/dconf/ MODIFY user.3G8SRZ
./.config/dconf/ MODIFY user.3G8SRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.3G8SRZ
./.config/dconf/ MOVED_FROM user.3G8SRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.9AYJRZ
./.config/dconf/ OPEN user.9AYJRZ
./.config/dconf/ MODIFY user.9AYJRZ
./.config/dconf/ MODIFY user.9AYJRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.9AYJRZ
./.config/dconf/ MOVED_FROM user.9AYJRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.WBPJRZ
./.config/dconf/ OPEN user.WBPJRZ
./.config/dconf/ MODIFY user.WBPJRZ
./.config/dconf/ MODIFY user.WBPJRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.WBPJRZ
./.config/dconf/ MOVED_FROM user.WBPJRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CREATE user.0RNLRZ
./.config/dconf/ OPEN user.0RNLRZ
./.config/dconf/ MODIFY user.0RNLRZ
./.config/dconf/ MODIFY user.0RNLRZ
./.config/dconf/ CLOSE_WRITE,CLOSE user.0RNLRZ
./.config/dconf/ MOVED_FROM user.0RNLRZ
./.config/dconf/ MOVED_TO user
./.config/dconf/ CLOSE_NOWRITE,CLOSE user
Expected results: a lot less disk thrashing
This is actually a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=1645715 but since I don't know where dconf developers dwell I'm posting it here as well.