HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: //proc/16335/root/usr/libexec/share_transform/SnapTreeChangeShareTransform.sh
#!/bin/sh

###############################################################
#   This script should be hooked when invoking share_transform hook.
#   Usable environment variable:
#       SHARE_NAME, SHARE_PATH, TRANS_DIRECT, RESULT
###############################################################

SNAPTREE_BINARY=/usr/syno/sbin/synosharesnaptree
SYNOFSTOOL_BINARY=/usr/syno/sbin/synofstool
TMP_DELETE_SHARE_ATTR_DIR="/tmp/deleteshareattr"

GetFsType() {
	$SYNOFSTOOL_BINARY --get-fs-type "$1"
}

GetShareAttr() {
	mkdir -p "$TMP_DELETE_SHARE_ATTR_DIR"
	VOLUME_NAME=$(dirname "$SHARE_PATH")
	if [ "btrfs" = "$(GetFsType "$VOLUME_NAME")" ]; then
		cp "$VOLUME_NAME/@eaDir/$SHARE_NAME/SYNO@.attr" "$TMP_DELETE_SHARE_ATTR_DIR/$SHARE_NAME.attr"
	fi
}

case $1 in
	--sdk-mod-ver)
		echo "2.0" ;;
	--name)
		echo "SnapTreeChangeShareTransform" ;;
	--pkg-ver)
		echo "1.0" ;;
	--vendor)
		echo "Synology Inc." ;;
	--pre)
		GetShareAttr
		;;
	--post)
		#Actions after share set

		if [ "0" != "${RESULT}" ]; then
			exit 0
		fi

		${SNAPTREE_BINARY} --move_share "$SHARE_PATH" -s "$SHARE_PATH"

		if [ -e "$TMP_DELETE_SHARE_ATTR_DIR/$SHARE_NAME.attr" ]; then
			rm -f "$TMP_DELETE_SHARE_ATTR_DIR/$SHARE_NAME.attr"
		fi
		;;
	*)
		echo "Usage: $0 --sdk_mod_ver|--name|--pkg_ver|--vendor|--pre|--post" ;;
esac