github.com/swiftstack/proxyfs@v0.0.0-20201223034610-5434d919416e/saio/bin/unmount_and_stop_pfs (about) 1 #!/bin/bash 2 3 # A simple script to unmount the sample mount point and stop the services 4 # The PATH, etc should already be setup by systemctl environment 5 6 function await_proxyfsd_shutdown { 7 while true 8 do 9 pidof proxyfsd > /dev/null 10 if [ $? -ne 0 ] 11 then 12 break 13 fi 14 echo "Waiting for ProxyFS to be stopped..." 15 sleep 1 16 done 17 } 18 19 function await_pfsagentd_shutdown { 20 while true 21 do 22 pidof pfsagentd > /dev/null 23 if [ $? -ne 0 ] 24 then 25 break 26 fi 27 echo "Waiting for PFSAgent to be stopped..." 28 sleep 1 29 done 30 } 31 32 MOUNT_POINT_NFS=127.0.0.1:/CommonMountPoint 33 SHARE_NFS=/mnt/nfs_proxyfs_mount/ 34 35 MOUNT_POINT_SMB=//127.0.0.1/proxyfs 36 SHARE_SMB=/mnt/smb_proxyfs_mount/ 37 38 if [ $# = 0 ]; then 39 SHOULD_UNMOUNT=1 40 else 41 if [ $1 = "keepmounts" ]; then 42 SHOULD_UNMOUNT=0 43 else 44 echo "Invalid argument: $1" 45 exit 1 46 fi 47 fi 48 49 if [ $SHOULD_UNMOUNT = 1 ]; then 50 mountpoint -q $SHARE_NFS 51 if [ $? -eq 0 ]; then 52 echo "Unmounting NFS mount point at '${SHARE_NFS}'..." 53 sudo umount $SHARE_NFS 54 fi 55 56 mountpoint -q $SHARE_SMB 57 if [ $? -eq 0 ]; then 58 echo "Unmounting SMB mount point at '${SHARE_SMB}'..." 59 sudo umount $SHARE_SMB 60 fi 61 fi 62 63 if [ -f /usr/bin/systemctl ]; then 64 # Centos 65 sudo /usr/bin/systemctl stop pfsagentd 66 sudo /usr/bin/systemctl stop nfs-idmap 67 sudo /usr/bin/systemctl stop nfs-lock 68 sudo /usr/bin/systemctl stop nfs-server 69 sudo /usr/bin/systemctl stop rpcbind 70 sudo /usr/bin/systemctl stop smb 71 # We need to make sure PFSAgent is stopped before we stop ProxyFS, but we 72 # don't care if other services are stopped in the meantime. 73 await_pfsagentd_shutdown 74 sudo /usr/bin/systemctl stop proxyfsd 75 await_proxyfsd_shutdown 76 sudo /usr/bin/swift-init main stop 77 sudo /usr/bin/systemctl stop memcached 78 else 79 # Ubuntu (not tested!) 80 # Here we should stop pfsagentd, but we don't support Ubuntu 81 sudo /usr/sbin/service nfs-idmap stop 82 sudo /usr/sbin/service nfs-lock stop 83 sudo /usr/sbin/service nfs-server stop 84 sudo /usr/sbin/service rpcbind stop 85 sudo /usr/sbin/service smbd stop 86 sudo /usr/sbin/service proxyfsd stop 87 await_proxyfsd_shutdown 88 sudo /usr/bin/swift-init main stop 89 sudo /usr/sbin/service memcached stop 90 fi