D7net Mini Sh3LL v1
Current File : //proc/79/../10/../87/../601/../79/../acpi/../2017764/../../mnt/../sbin/xfs_info |
#!/bin/sh -f
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
#
OPTS=""
USAGE="Usage: xfs_info [-V] [-t mtab] [mountpoint|device|file]"
# Try to find a loop device associated with a file. We only want to return
# one loopdev (multiple loop devices can attach to a single file) so we grab
# the last line and return it if it's actually a block device.
try_find_loop_dev_for_file() {
local x="$(losetup -O NAME -j "$1" 2> /dev/null | tail -n 1)"
test -b "$x" && echo "$x"
}
while getopts "t:V" c
do
case $c in
t) OPTS="-t $OPTARG" ;;
V) xfs_spaceman -p xfs_info -V
status=$?
exit $status
;;
*) echo $USAGE 1>&2
exit 2
;;
esac
done
set -- extra "$@"
shift $OPTIND
case $# in
1)
arg="$1"
# See if we can map the arg to a loop device
loopdev="$(try_find_loop_dev_for_file "${arg}")"
test -n "${loopdev}" && arg="${loopdev}"
# If we find a mountpoint for the device, do a live query;
# otherwise try reading the fs with xfs_db.
if mountpt="$(findmnt -t xfs -f -n -o TARGET "${arg}" 2> /dev/null)"; then
xfs_spaceman -p xfs_info -c "info" $OPTS "${mountpt}"
status=$?
else
xfs_db -p xfs_info -c "info" $OPTS "${arg}"
status=$?
fi
;;
*) echo $USAGE 1>&2
exit 2
;;
esac
exit $status
AnonSec - 2021 | Recode By D7net