File: //usr/syno/plugin/share_set/VolumeSpaceUsageShareSet.sh
#!/bin/sh
###############################################################
# This script should be hooked when invoking share_set hook.
# Usable environment variable:
# RESULT, SHARE_NAME, ORIGIN_SHARE_READONLY, SHARE_READONLY
###############################################################
SYNOSUBVOLTYPE_BINARY=/usr/syno/bin/synosubvoltype
SYNOFSTOOL_BINARY=/usr/syno/sbin/synofstool
SYNOSHARE_BINARY=/usr/syno/sbin/synoshare
GetFsType() {
$SYNOFSTOOL_BINARY --get-fs-type "$1"
}
case $1 in
--sdk-mod-ver)
echo "2.0"
;;
--name)
echo "VolumeSpaceUsageShareSet"
;;
--pkg-ver)
echo "1.0"
;;
--vendor)
echo "Synology Inc."
;;
--pre)
#Actions before share set
;;
--post)
#Actions after share set
if [ "0" != "${RESULT}" ]; then
exit 0
fi
SHARE_REAL_PATH="$($SYNOSHARE_BINARY --get-real-path "$SHARE_NAME")"
if [ ! -d "$SHARE_REAL_PATH" ]; then
exit 0
fi
if [ "btrfs" != "$(GetFsType "$SHARE_REAL_PATH")" ]; then
exit 0
fi
# share read-only changed from ro to rw
if [ "1" = "$ORIGIN_SHARE_READONLY" ] && [ "0" = "$SHARE_READONLY" ]; then
$SYNOSUBVOLTYPE_BINARY "$SHARE_REAL_PATH"
fi
;;
*)
echo "Usage: $0 --sdk_mod_ver|--name|--pkg_ver|--vendor|--pre|--post"
;;
esac