Skip to content

Instantly share code, notes, and snippets.

@sling00
Last active October 22, 2023 13:05
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save sling00/cd69ffbef4b23ec48d10 to your computer and use it in GitHub Desktop.
Save sling00/cd69ffbef4b23ec48d10 to your computer and use it in GitHub Desktop.
disk free for samba that can determine fs type and calculate accordingly.
#!/bin/bash
#Originally by stanislavs from post http://stanislavs.org/reporting-correct-space-usage-for-samba-shared-zfs-volumes/#comment-2443
#Used some updated code from github user umito / Peter on that site to clean up the non zfs code.
if [[ `findmnt -n -o FSTYPE -T "$PWD" | grep -c zfs` > 0 ]]
then
# echo "DEBUG: this is zfs"
USED=$((`zfs get -o value -Hp used $PWD` / 1024)) > /dev/null
AVAIL=$((`zfs get -o value -Hp available $PWD` / 1024)) > /dev/null
TOTAL=$(($USED+$AVAIL)) > /dev/null
echo $TOTAL $AVAIL
else
# echo "DEBUG: this is not zfs "
df $PWD | tail -1 | awk '{print $2" "$4}'
fi
@briancline
Copy link

Thanks - works well for both my ZFS for Linux samba shares and non-ZFS shares under Ubuntu 18.04.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment