Re: [PATCH 2/7] xfs_admin: support filesystems with realtime devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2/22/21 8:00 PM, Darrick J. Wong wrote:
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>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx>
Looks ok to me
Reviewed-by: Allison Henderson <allison.henderson@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




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux