浏览代码

calculate realpaths of input

Tobias Simetsreiter 4 年之前
父节点
当前提交
75df0d5391
共有 1 个文件被更改,包括 5 次插入10 次删除
  1. 5 10
      overlaycached

+ 5 - 10
overlaycached

@@ -5,7 +5,7 @@ overlaycached(){
 
     MOVE=false
     SSHFS=""
-    DEPTH=2
+    DEPTH=3
     WRITE_THROUGH=false
     SSHFS_CMD="sshfs"
     while getopts ":dwmS:D:-" opt; do
@@ -52,9 +52,9 @@ USAGEEOF
         esac
     done
     shift $((OPTIND -1))
-    [ -z "$SSHFS" ] && LOWER_DIR="$1" && shift 1
-    $MOVE || { UPPER_DIR="$1" && shift 1; }
-    MOUNT_DIR="$1"
+    [ -z "$SSHFS" ] && LOWER_DIR="$(realpath $1)" && shift 1
+    $MOVE || { UPPER_DIR="$(realpath $1)" && shift 1; }
+    MOUNT_DIR="$(realpath $1)"
     trap cleanup EXIT
     if $MOVE; then
         UPPER_DIR="$(realpath "$MOUNT_DIR").upper"
@@ -74,11 +74,6 @@ USAGEEOF
         LOWER_DIR="$(realpath "$MOUNT_DIR").sshfs"
         mkdir -p "$LOWER_DIR"
         SSHFS_OPTS="-oauto_cache,reconnect,no_readahead,allow_other"
-#         if [ ! -z "$SUDO_USER" ]; then
-#             SSHFS_CMD="sudo -u $SUDO_USER $SSHFS_CMD"
-#             chown "$SUDO_UID:$SUDO_GID" "$LOWER_DIR" "$WORK_DIR" "$UPPER_DIR"
-#             chmod ogu+rx "$LOWER_DIR" "$WORK_DIR" "$UPPER_DIR"
-#         fi
         set -x
         $SSHFS_CMD "$SSHFS" "$LOWER_DIR" "${SSHFS_OPTS}"
         set +x
@@ -111,6 +106,7 @@ cleanup(){
     echo "Cleaning up mount points...."
     set +e
     set -x
+    sync
     umount "$MOUNT_DIR" # 2> /dev/null
     sync
     if $MOVE; then
@@ -124,7 +120,6 @@ cleanup(){
     for DIR in ${CLEANUP_DIRS[@]}; do
         rm -rf "$DIR"
     done
-    set +x
 }
 show_workdir_contents(){
     (cd $WORK_DIR;pwd; ls -alsh)