ksmbd-tools: append config from /var/run/config/ for runtime shares

Dynamically created shares shouldn't be stored in the /etc/config/
because of:
1. Flash wearing
2. Risk of inconsistent state on reboots

With this change all automation/hotplug.d scripts can store runtime in
the /var/run/config/samba. It's useful e.g. for USB drives that user
wants to be automatically shared.

Also: automated scripts should never call "uci [foo] commit" as that
could flush incomplete config. This problem also gets solved.

Identical feature was added to samba36 in the OpenWrt commit
5a59e2c059866 ("samba36: append config from /var/run/config/ for runtime
shares") but wasn't ported to ksmbd until now.

Cc: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit c9cba61989)
This commit is contained in:
Rafał Miłecki 2022-08-10 14:23:40 +02:00
parent 131ddf2370
commit 065ea581b8
1 changed files with 1 additions and 0 deletions

View File

@ -116,6 +116,7 @@ init_config()
mkdir -p /var/etc/ksmbd
config_load ksmbd
CONFIG_APPEND=1 UCI_CONFIG_DIR=/var/run/config config_load ksmbd
config_foreach smb_header globals
config_foreach smb_add_share share
}