File: //var/packages/HybridShare/scripts/postupgrade
#!/bin/sh
# Copyright (c) 2000-2025 Synology Inc. All rights reserved.
. /var/packages/${SYNOPKG_PKGNAME}/scripts/pkg_utils
servicetool --update-configure-file --package ${SYNOPKG_PKGNAME}.sc ${PKG_DIR}/target/etc/HybridShare.sc
if ! ${C2FS_PKG_TOOL} --move-info ; then
logger -t ${PKG_TAG} -p err "failed move-info"
fi
max_jobs=5
logger -t ${PKG_TAG} -p err "Starting WAL checkpoint for all shares"
for dir in /volume*/@C2Share/database/*/events; do
[ -d "$dir" ] || continue
wal_file="$dir/events.db-wal"
db_file="$dir/events.db"
if [ -f "$wal_file" ]; then
while [ $(jobs -r | wc -l) -ge $max_jobs ]; do
sleep 1
done
(
sqlite3 "$db_file" "PRAGMA wal_checkpoint(TRUNCATE);"
if [ $? -ne 0 ]; then
logger -t ${PKG_TAG} -p err "WAL checkpoint failed for $db_file"
fi
) &
fi
done
wait
logger -t ${PKG_TAG} -p err "WAL checkpoint completed for all shares"
${C2FS_PKG_TOOL} --send-notification-if-inbeta
exit 0