#!/bin/sh
confdir=/etc/gluster-automount.d
destdir=/var/remote-log
runtime=/etc/ansible/facts.d/search_runtime.fact
action=$1

case "$action" in
  mount|umount)
    ;;
  *)
    echo "usage $0 {mount|umount}"
    exit 1
    ;;
esac

function runtime_mount {
        src=$1; config=$2
        conffile=/etc/rfs-exports.d/runtime-"$(echo $config | rev | cut -d\/ -f1 | rev)"
        glusterconffile=/etc/rfs-exports.d/runtime-"$(echo $config | rev | cut -d\/ -f1 | rev)"
#        glusterconffileage=$(( $(date +%s)-$(stat -c %Y "$glusterconffile") ))
        [ -f $conffile ] && [ "$(( $(date +%s)-$(stat -c %Y "$glusterconffile") ))" -ge 12 ] && echo -n > "$conffile"
        echo "$src * (ro)" >> $glusterconffile
}

[ $(find $confdir -type f -name '*.conf' -print | wc -l) -gt 0 ] || exit 0
for config in $confdir/*.conf; do 
 while read src dst; do
    [ -d $destdir/$dst ] || mkdir -p $destdir/$dst
    [ -d $src ] || mkdir -p $src
    [ -z "${src##/etc*}" -o -z "${src##/usr*}" -o -z "${src##/opt/mysql*}" ] && continue  
    if [ x"$action" = x"mount" ] && [ -f $runtime ]; then
        runtime_mount $src $config
    fi
    if [ x"$action" = x"mount" ] && [ ! -f $runtime ]; then
      mount | grep -q " on $destdir/$dst" && continue
      mount -o bind $src $destdir/$dst
#      mount -o remount,ro $destdir/$dst
    fi
    if [ x"$action" = x"umount" ]; then
      umount $destdir/$dst
    fi
  done < $config
done

if [ x"$action" = x"umount" ]; then
  rmdir $destdir/*
fi
