Bug 1873540

Summary: /var/log stays busy at shutdown due to journald
Product: Red Hat Enterprise Linux 8 Reporter: Christophe Besson <cbesson>
Component: systemdAssignee: David Tardon <dtardon>
Status: CLOSED ERRATA QA Contact: Frantisek Sumsal <fsumsal>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: dtardon, jamacku, msekleta, rmetrich, systemd-maint-list
Target Milestone: rcKeywords: Bugfix, Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: systemd-239-73.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-16 09:07:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Christophe Besson 2020-08-28 14:46:21 UTC
Description of problem:
While shutting down or rebooting, some users encounter the issue below:
~~~
<timestamp> <hostname> umount[9681]: umount: /var/log: target is busy.
<timestamp> <hostname> systemd[1]: Failed unmounting /var/log.
~~~

Disabling the persistent fixed the issue for this user.

I tried a drop-in on the systemd-journal-flush service, inspired from:
https://github.com/poettering/systemd/commit/556ec02b76482934c65686025ae4b2102867b1c1

Which is the fix for the following upstream issue:
https://github.com/systemd/systemd/issues/867

But it fails. Indeed the option for journalctl "-smart-relinquish-var" is missing in the version we deliver. It is described as is on freedesktop.org:
~~~
Similar to --relinquish-var but executes no operation if the root file system and /var/log/journal/ reside on the same mount point. This operation is used during system shutdown in order to make the journal daemon stop writing data to /var/log/journal/ in case that directory is located on a mount point that needs to be unmounted.
~~~

a) Could we backport this feature?
b) Could you evaluate if calling this option on journald-flush's ExecStop can help to get it fixed permanently?

Version-Release number of selected component (if applicable):
systemd-239-31.el8_2.2.x86_64

How reproducible:
100% for the customer

Steps to Reproduce:
1. Dedicated /var/log partition
2. Persistent journal (/var/log/journal)

Comment 4 Plumber Bot 2023-02-19 14:05:58 UTC
fix merged to github main branch -> https://github.com/redhat-plumbers/systemd-rhel8/pull/299

Comment 17 errata-xmlrpc 2023-05-16 09:07:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (systemd bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2985