diff options
Diffstat (limited to 'lib/block.sh')
-rw-r--r-- | lib/block.sh | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/lib/block.sh b/lib/block.sh deleted file mode 100644 index ef1eed9..0000000 --- a/lib/block.sh +++ /dev/null @@ -1,92 +0,0 @@ -# Functions for mounting and unmounting block devices -# -# Copyright (C) 2015 Patrick "P. J." McDermott -# -# This file is part of the ProteanOS Development Kit. -# -# The ProteanOS Development Kit is free software: you can redistribute -# it and/or modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# The ProteanOS Development Kit is distributed in the hope that it -# will be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with the ProteanOS Development Kit. If not, see -# <http://www.gnu.org/licenses/>. - -[ "x${_BLOCK_SM+set}" = 'xset' ] && return 0 -_BLOCK_SM=1 - -use rand -use vardata - -is_block() -{ - local dev="${1}" - - [ -b "${dev}" ] - return ${?} -} - -check_block() -{ - local dev="${1}" - - if ! [ -b "${dev}" ]; then - error 2 "$(get_msg 'block_device_invalid')" "${dev}" - fi -} - -block_mount() -{ - local dev="${1}" - local dir= - - check_block "${dev}" - - rand - dir="$(get_vardata_dir 'mount')/block-$(printf '%010d' ${rand_x})" - if ! mkdir "${dir}"; then - error 2 "$(get_msg 'block_mkdir_fail')" "${dir}" - fi - - if ! mount "${dev}" "${dir}"; then - rmdir "${dir}" - error 2 "$(get_msg 'block_mount_fail')" "${dev}" - fi - - printf '%s' "${dir}" - return 0 -} - -block_umount() -{ - local dir="${1}" - local i= - local timed_out= - - i=0 - timed_out=false - while ! umount "${dir}"; do - i=$(($i + 1)) - if [ ${i} -eq 10 ]; then - timed_out=true - break - fi - sleep 1 - done - - if ${timed_out}; then - error 2 "$(get_msg 'block_umount_fail')" "${dir}" - fi - - if ! rmdir "${dir}"; then - error 2 "$(get_msg 'block_rmdir_fail')" "${dir}" - fi - - return 0 -} |