From: Darrick J. Wong <djwong@xxxxxxxxxx> Add a -r option to xfs_admin so that we can pass the name of the realtime device to xfs_repair. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> --- db/xfs_admin.sh | 11 ++++++----- man/man8/xfs_admin.8 | 8 ++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/db/xfs_admin.sh b/db/xfs_admin.sh index 71a9aa98..430872ef 100755 --- a/db/xfs_admin.sh +++ b/db/xfs_admin.sh @@ -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 diff --git a/man/man8/xfs_admin.8 b/man/man8/xfs_admin.8 index 8afc873f..cccbb224 100644 --- a/man/man8/xfs_admin.8 +++ b/man/man8/xfs_admin.8 @@ -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