-Do_snapshot ()
-{
- case "${TYPE}" in
- squashfs)
- echo "./tmp/exclude_list" > /tmp/exclude_list
- ( cd "${COW}" && find . -name '*.wh.*' >> /tmp/exclude_list )
- mksquashfs "${COW}" "${DEST}" -ef /tmp/exclude_list || exit 1
- rm /tmp/exclude_list
- ;;
-
- cpio)
- ( cd "${COW}" && find . -path '*.wh.*' -prune -o -print0 | cpio --quiet -o0 -H newc | gzip -9c > "${DEST}" ) || exit 1
- ;;
-
- ext2|ext3)
- DU_DIM="$(du -ks ${COW} | cut -f1)"
- REAL_DIM="$(expr ${DU_DIM} + ${DU_DIM} / 20)" # Just 5% more to be sure, need something more sophistcated here...
- genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${COW}" "${DEST}" || exit 1
- ;;
-
- *)
- echo "Internal error."
- exit 1
- ;;
- esac
-}
-
-Is_same_mount ()
-{
- dir1="$(Base_path ${1})"
- dir2="$(Base_path ${2})"
-
- if [ "${dir1}" = "${dir2}" ]
- then
- return 0
- else
- return 1
- fi
-}
-