%PDF- %PDF-
Direktori : /sbin/ |
Current File : //sbin/xfs_admin |
#!/bin/sh -f # SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved. # status=0 require_offline="" require_online="" DB_OPTS="" REPAIR_OPTS="" IO_OPTS="" REPAIR_DEV_OPTS="" LOG_OPTS="" USAGE="Usage: xfs_admin [-efjlpuV] [-c 0|1] [-L label] [-O v5_feature] [-r rtdev] [-U uuid] device [logdev]" while getopts "c:efjlL:O:pr:uU:V" c do case $c in c) REPAIR_OPTS=$REPAIR_OPTS" -c lazycount="$OPTARG require_offline=1 ;; e) DB_OPTS=$DB_OPTS" -c 'version extflg'" require_offline=1 ;; f) DB_OPTS=$DB_OPTS" -f" require_offline=1 ;; j) DB_OPTS=$DB_OPTS" -c 'version log2'" require_offline=1 ;; l) DB_OPTS=$DB_OPTS" -r -c label" IO_OPTS=$IO_OPTS" -r -c label" ;; L) DB_OPTS=$DB_OPTS" -c 'label "$OPTARG"'" IO_OPTS=$IO_OPTS" -c 'label -s "$OPTARG"'" ;; O) REPAIR_OPTS=$REPAIR_OPTS" -c $OPTARG" require_offline=1 ;; p) DB_OPTS=$DB_OPTS" -c 'version projid32bit'" require_offline=1 ;; r) REPAIR_DEV_OPTS=" -r '$OPTARG'" require_offline=1 ;; u) DB_OPTS=$DB_OPTS" -r -c uuid" IO_OPTS=$IO_OPTS" -r -c fsuuid" ;; U) DB_OPTS=$DB_OPTS" -c 'uuid "$OPTARG"'" require_offline=1 ;; V) xfs_db -p xfs_admin -V status=$? exit $status ;; \?) echo $USAGE 1>&2 exit 2 ;; esac done set -- extra $@ shift $OPTIND case $# in 1|2) if mntpt="$(findmnt -t xfs -f -n -o TARGET "$1" 2>/dev/null)"; then # filesystem is mounted if [ -n "$require_offline" ]; then echo "$1: filesystem is mounted." exit 2 fi if [ -n "$IO_OPTS" ]; then eval xfs_io -p xfs_admin $IO_OPTS "$mntpt" exit $? fi fi # filesystem is not mounted if [ -n "$require_online" ]; then echo "$1: filesystem is not mounted" exit 2 fi # Pick up the log device, if present if [ -n "$2" ]; then LOG_OPTS=" -l '$2'" fi if [ -n "$DB_OPTS" ] then eval xfs_db -x -p xfs_admin $LOG_OPTS $DB_OPTS "$1" status=$? fi if [ -n "$REPAIR_OPTS" ] then echo "Running xfs_repair to upgrade filesystem." eval xfs_repair $LOG_OPTS $REPAIR_DEV_OPTS $REPAIR_OPTS "$1" status=`expr $? + $status` fi ;; *) echo $USAGE 1>&2 exit 2 ;; esac exit $status