]> git.proxmox.com Git - pmg-api.git/commit
backup: restore: keep directories in /etc/pmg for inotify
authorStoiko Ivanov <s.ivanov@proxmox.com>
Wed, 30 Nov 2022 17:07:27 +0000 (18:07 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 12 Dec 2022 11:31:34 +0000 (12:31 +0100)
commit1e0861f94febadf37f2ce1917db5af8f516038da
treeba60d09242eeb3db02520031f8ee05beb5bc00db
parentfe97dfd3cfa7b42a3f654b9396091ed39221e546
backup: restore: keep directories in /etc/pmg for inotify

By wiping the subdirectories in /etc/pmg/, we lose the inotify
watchers upon restore (/etc/pmg itself and thus most configs are
currently handled by the keep_root flag to rmtree)
This can lead to inconsistencies after restoring for parts relying on
config in a subdirectory (e.g. /etc/pmg/pbs/pbs.conf).

This patch uses File::Find (included in perl-modules-$perlver) to keep
all directories an unlink everything else.
This was chosen for future robustness over keeping an explicit list of
directories to keep, in case a new directory gets added.

quickly tested with a fifo, chardev, and socket in the directory.

an alternative approach would be to simply reload pmgdaemon/pmgproxy
upon config-restore, but that feels more likely to miss some
(potentially future) service, expecting inotify to work.

Reported-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
src/PMG/Backup.pm