Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
etersoft-admin-essentials
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
etersoft-admin-essentials
Commits
6890ba32
Commit
6890ba32
authored
Dec 04, 2019
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix fix_disk.sh (not all sectors of a block was repaired before)
parent
26880872
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
5 deletions
+20
-5
fix_disk.sh
hdd/fix_disk.sh
+20
-5
No files found.
hdd/fix_disk.sh
View file @
6890ba32
...
@@ -12,6 +12,7 @@ if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
...
@@ -12,6 +12,7 @@ if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
exit
exit
fi
fi
BLOCKSIZE
=
8
TESTONLY
=
TESTONLY
=
FORCE
=
FORCE
=
LIST
=
LIST
=
...
@@ -19,6 +20,9 @@ LIST=
...
@@ -19,6 +20,9 @@ LIST=
[
"
$1
"
=
"--fix"
]
&&
{
TESTONLY
=
$1
;
shift
;
}
[
"
$1
"
=
"--fix"
]
&&
{
TESTONLY
=
$1
;
shift
;
}
[
"
$1
"
=
"--force"
]
&&
FORCE
=
$1
[
"
$1
"
=
"--force"
]
&&
FORCE
=
$1
[
"
$1
"
=
"--list"
]
&&
LIST
=
$1
[
"
$1
"
=
"--list"
]
&&
LIST
=
$1
[
"
$1
"
=
"--dev"
]
&&
DEV
=
$2
&&
shift
2
[
"
$1
"
=
"--sector"
]
&&
SECTOR
=
$2
&&
shift
2
[
"
$1
"
=
"--block"
]
&&
BLOCK
=
$2
&&
shift
2
test_block
()
test_block
()
{
{
...
@@ -65,6 +69,11 @@ fix_block()
...
@@ -65,6 +69,11 @@ fix_block()
echo
"Something still wrong with
$block
on
$DEV
"
echo
"Something still wrong with
$block
on
$DEV
"
}
}
if
[
-n
"
$DEV
"
]
&&
[
-n
"
$SECTOR
"
]
;
then
echo
"Fixing
$SECTOR
sector on
$DEV
..."
fix_block
$DEV
$SECTOR
exit
fi
# by dmesg
# by dmesg
# FIXME: which device??
# FIXME: which device??
...
@@ -80,11 +89,12 @@ while read devname block ; do
...
@@ -80,11 +89,12 @@ while read devname block ; do
echo
"List
$block
bad block on /dev/
$devname
..."
echo
"List
$block
bad block on /dev/
$devname
..."
if
[
-z
"
$LIST
"
]
;
then
if
[
-z
"
$LIST
"
]
;
then
echo
"Fixing
$block
block (* 4 + 0...4) on /dev/
$devname
..."
sector
=
$((
block
*
$BLOCKSIZE
))
fix_block /dev/
$devname
$((
$block
*
4
+
0
))
echo
"Fixing
$block
block (sector
$sector
+ 0...7) on /dev/
$devname
..."
fix_block /dev/
$devname
$((
$block
*
4
+
1
))
for
i
in
{
0..7
}
;
do
fix_block /dev/
$devname
$((
$block
*
4
+
2
))
echo
-n
" sector
$((
$sector
+
$i
))
on /dev/
$devname
... "
fix_block /dev/
$devname
$((
$block
*
4
+
3
))
fix_block /dev/
$devname
$((
$sector
+
$i
))
done
fi
fi
done
done
...
@@ -102,3 +112,8 @@ while read devname sector ; do
...
@@ -102,3 +112,8 @@ while read devname sector ; do
fix_block /dev/
$devname
$sector
fix_block /dev/
$devname
$sector
fi
fi
done
done
#[ 4486.625237] end_request: critical medium error, dev sdh, sector 196651224
#[ 4486.625240] Buffer I/O error on device sdh, logical block 24581403
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment