1#!/bin/sh -e 2# 3# raid: notify raid events, failures and syncing 4# 5# Copyright (C) 2010 Canonical Ltd. 6# Copyright (C) 2011-2014 Dustin Kirkland 7# 8# Authors: Dustin Kirkland <kirkland@byobu.org> 9# 10# This program is free software: you can redistribute it and/or modify 11# it under the terms of the GNU General Public License as published by 12# the Free Software Foundation, version 3 of the License. 13# 14# This program is distributed in the hope that it will be useful, 15# but WITHOUT ANY WARRANTY; without even the implied warranty of 16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17# GNU General Public License for more details. 18# 19# You should have received a copy of the GNU General Public License 20# along with this program. If not, see <http://www.gnu.org/licenses/>. 21 22__raid_detail() { 23 [ -r /proc/mdstat ] && cat /proc/mdstat || true 24} 25 26__raid() { 27 [ -r /proc/mdstat ] || return 28 while read line; do 29 local p msg 30 # Errors in your raid 31 case "$line" in 32 *\ blocks\ *\[*_*\]) 33 [ -z "${msg}" ] && msg="RAID" 34 ;; 35 *%*) 36 p="${line%%\%*}${PCT}"; p=${p##* }; 37 [ -z "$msg" ] && msg="RAID" 38 msg="$msg,$p" 39 ;; 40 esac 41 done < /proc/mdstat 42 if [ -n "$msg" ]; then 43 color B w r; printf "%s" "$msg"; color -- 44 elif [ -e "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/raid" ]; then 45 # Clear out cached raid message 46 rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/raid"* 47 fi 48} 49 50# vi: syntax=sh ts=4 noexpandtab 51