diff options
author | makefu <github@syntax-fehler.de> | 2014-03-24 16:17:35 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2014-03-24 16:17:35 +0100 |
commit | 657d85541247a9e81ead57ab4817534f35e899a8 (patch) | |
tree | 3ca186b6b56d63fd6e46275acb8152ca642f04de | |
parent | 14ee58ef4e9dfda2bbb41044025e7d51910a1173 (diff) |
make share_all_partitions more robust
-rw-r--r-- | filehooker/root-image/krebs/lib/filehooker | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/filehooker/root-image/krebs/lib/filehooker b/filehooker/root-image/krebs/lib/filehooker index d30fb519..c72d4d51 100644 --- a/filehooker/root-image/krebs/lib/filehooker +++ b/filehooker/root-image/krebs/lib/filehooker @@ -122,21 +122,27 @@ info "enable tor_announce" systemctl enable tor_announce systemctl start tor_announce } - +is_mounted(){ + cat /etc/mtab| cut -d\ -f 1 | grep -q "^$1$" && info "$1 is already mounted" +} share_all_partitions(){ count=0 - find /dev -name '[shv]d[a-z][0-9]' | while read disk;do - size=$(get_disksize $disk) - if test "$size" -gt "$min_netshare_size"; + # all /dev/sdX and all mapped devices + (find /dev -name '[shv]d[a-z][0-9]';find /dev/mapper ! -type d)| while read disk;do + size=$(get_disksize $disk 2>/dev/null) + + if test "$size" -gt "$min_netshare_size" 2>/dev/null ; #&& ! is_mounted "$disk"; then info "trying disk $disk" mountpoint=/media/vag$count mkdir -p $mountpoint - umount $mountpoint 2>&1 >/dev/null && info "$mountpoint unmounted" || : - ! mount $disk $mountpoint && error "cannot mount $disk" && continue + umount $disk >/dev/null 2>&1 && info "remounting $disk" || : + umount $mountpoint >/dev/null 2>&1 && info "unmounting old mountpoint $mountpoint" || : + ! mount $disk $mountpoint >/dev/null 2>&1 && error "cannot mount $disk" && continue chown "$ncdc_user" "$mountpoint" : $((count++)) - ncdc_configure_netshare "$mountpoint" "$(basename $mountpoint)" + ncdc_configure_netshare "$mountpoint" "$(basename $mountpoint)" 2>/dev/null + info "$mountpoint is mounted and shared" else info "skipping $disk" fi |