@@ -7,9 +7,10 @@
status=0
DB_OPTS=""
REPAIR_OPTS=""
-USAGE="Usage: xfs_admin [-efjlpuV] [-c 0|1] [-L label] [-U uuid] device [logdev]"
+REPAIR_DEV_OPTS=""
+USAGE="Usage: xfs_admin [-efjlpuV] [-c 0|1] [-L label] [-r rtdev] [-U uuid] device [logdev]"
-while getopts "efjlpuc:L:U:V" c
+while getopts "c:efjlL:pr:uU:V" c
do
case $c in
c) REPAIR_OPTS=$REPAIR_OPTS" -c lazycount="$OPTARG;;
@@ -19,6 +20,7 @@ do
l) DB_OPTS=$DB_OPTS" -r -c label";;
L) DB_OPTS=$DB_OPTS" -c 'label "$OPTARG"'";;
p) DB_OPTS=$DB_OPTS" -c 'version projid32bit'";;
+ r) REPAIR_DEV_OPTS=" -r '$OPTARG'";;
u) DB_OPTS=$DB_OPTS" -r -c uuid";;
U) DB_OPTS=$DB_OPTS" -c 'uuid "$OPTARG"'";;
V) xfs_db -p xfs_admin -V
@@ -37,8 +39,7 @@ case $# in
# Pick up the log device, if present
if [ -n "$2" ]; then
DB_OPTS=$DB_OPTS" -l '$2'"
- test -n "$REPAIR_OPTS" && \
- REPAIR_OPTS=$REPAIR_OPTS" -l '$2'"
+ REPAIR_DEV_OPTS=$REPAIR_DEV_OPTS" -l '$2'"
fi
if [ -n "$DB_OPTS" ]
@@ -53,7 +54,7 @@ case $# in
# running xfs_admin.
# Ideally, we need to improve the output behaviour
# of repair for this purpose (say a "quiet" mode).
- eval xfs_repair $REPAIR_OPTS "$1" 2> /dev/null
+ eval xfs_repair $REPAIR_DEV_OPTS $REPAIR_OPTS "$1" 2> /dev/null
status=`expr $? + $status`
if [ $status -ne 0 ]
then
@@ -13,6 +13,9 @@ xfs_admin \- change parameters of an XFS filesystem
] [
.B \-U
.I uuid
+] [
+.B \-r
+.I rtdev
]
.I device
[
@@ -123,6 +126,11 @@ not be able to mount the filesystem. To remove this incompatible flag, use
which will restore the original UUID and remove the incompatible
feature flag as needed.
.TP
+.BI \-r " rtdev"
+Specifies the device special file where the filesystem's realtime section
+resides.
+Only for those filesystems which use a realtime section.
+.TP
.B \-V
Prints the version number and exits.
.PP