Guest User

Untitled

a guest
Dec 10th, 2013
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. snapshot="$1"
  4. if [ -z "$snapshot" ]; then
  5. echo "FreeBSD/ZFS snapshot handling bug"
  6. echo ""
  7. echo "Usage: $0 <zfs snapshot>"
  8. exit 1
  9. fi
  10.  
  11. snapshot="$(zfs list -t snapshot -H -o name "$snapshot")"
  12. if [ -z "$snapshot" ]; then
  13. echo "Snapshot not found"
  14. exit 2
  15. fi
  16.  
  17. dataset="${snapshot%@*}"
  18. sn="${snapshot#*@}"
  19. mountpoint=$(mount | grep "^$dataset[[:space:]]" | awk '{print $3}')
  20.  
  21. if [ ! -d "$mountpoint" ]; then
  22. echo "Could not determine mount point for $dataset"
  23. exit 3
  24. fi
  25.  
  26. echo "** dataset=$dataset snapname=$sn mounted=$mountpoint"
  27.  
  28. (
  29. cd "$mountpoint/.zfs/snapshot"
  30. yes "$sn" | xargs stat > /dev/null
  31. ) &
  32. (
  33. #while : ; do zfs send -R "$snapshot" > /dev/null ; done
  34. while : ; do umount "$mountpoint/.zfs/snapshot/$sn" 2>/dev/null ; done
  35. )
Advertisement
Add Comment
Please, Sign In to add comment