diff options
author | Sage Weil <sage@inktank.com> | 2013-08-13 10:11:39 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-13 10:11:39 -0700 |
commit | e9d4f9b048d4fcb3a8aa427dbfafdb864f6d7372 (patch) | |
tree | 075d0b22f3c18daac6d8f3eed4fe5342b6f4f40a | |
parent | 977b7f583801db4b5eee1a8b4b442db8f74a425c (diff) | |
parent | 6df75da3d1bf8b11c5760a2d5a0b11b429e25b3f (diff) | |
download | ceph-e9d4f9b048d4fcb3a8aa427dbfafdb864f6d7372.tar.gz |
Merge pull request #497 from ksperis/rbdmap.init-3
Rbdmap.init 3
Reviewed-by: Sage Weil <sage@inktank.com>
-rwxr-xr-x | src/init-rbdmap | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/init-rbdmap b/src/init-rbdmap index 6ea4af7624b..54554ae40d7 100755 --- a/src/init-rbdmap +++ b/src/init-rbdmap @@ -62,17 +62,19 @@ do_map() { do_unmap() { log_daemon_msg "Stopping $DESC" RET=0 + # Recursive umount that depends /dev/rbd* + MNTDEP=$(findmnt --mtab | awk '$2 ~ /^\/dev\/rbd[0-9]*$/ {print $1}' | sort -r) + for MNT in $MNTDEP; do + umount $MNT + done # Unmap all rbd device - for DEV in /dev/rbd[0-9]*; do - log_progress_msg $DEV - # Umount before unmap - MNTDEP=$(findmnt --mtab --source $DEV --output TARGET | sed 1,1d | sort -r) - for MNT in $MNTDEP; do - umount $MNT || sleep 1 && umount -l $DEV + if [ -b /dev/rbd[0-9]* ]; then + for DEV in /dev/rbd[0-9]*; do + log_progress_msg $DEV + rbd unmap $DEV + [ $? -ne "0" ] && RET=1 done - rbd unmap $DEV - [ $? -ne "0" ] && RET=1 - done + fi log_end_msg $RET } |