LINUX.ORG.RU

История изменений

Исправление fargred, (текущая версия) :

Хмм… Провернул для него обычные операции по затиранию:

┖ .08 at home $ fdisk /dev/sda
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x43976a6a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63       80324       40131   83  Linux
/dev/sda2           80325   104952644    52436160   83  Linux
/dev/sda3       104952645   109161674     2104515   83  Linux
/dev/sda4       109162496  1953525167   922181336   83  Linux

┎ /home/fargred
┖ .08 at home $ echo $((1670581106-109162496))
1561418610
┎ /home/fargred
┖ .07 at home $ tune2fs -l /dev/sda4 | grep Block
Block count:              230545334
Block size:               4096

Ну и пошло-поехало…

┎ /home/fargred
┖ .04 at home $ cat /tmp/bad_lba 
1670581106
┎ /home/fargred
┖ .05 at home $ echo '(1670581106 - 109162496)/8' | bc > /tmp/bb
┎ /home/fargred
┖ .05 at home $ debugfs
debugfs 1.42.7 (21-Jan-2013)
debugfs:  open /dev/sda4
debugfs:  testb 19577326
Block 19577326 marked in use
А вот это занятно. Я же его вчера ещё отправил в бедблоки у самой ФС. Или это тоже считается in use?
debugfs:  quit
┎ /home/fargred
┖ .05 at home $ dumpe2fs -b /dev/sda4
dumpe2fs 1.42.7 (21-Jan-2013)
195177326
Ну да, вот он, родимый.
┎ /home/fargred
┖ .04 at home $ debugfs
debugfs 1.42.7 (21-Jan-2013)
debugfs:  open /dev/sda4
debugfs:  icheck 195177326
Block	Inode number
195177326	<block not found>
P.S.: Так и должно быть?
debugfs:  quit
┎ /home/fargred
┖ .06 at home $ dd if=/dev/zero of=/dev/sda4 bs=4096 count=1 seek=195177326
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 9.3482e-05 s, 43.8 MB/s
А вот здесь я удивился, так как ожидал Input/Output error.
┎ /home/fargred
┖ .06 at home $ sync
┎ /home/fargred
┖ .05 at home $ smartctl -A /dev/sda
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
…
  5 Reallocated_Sector_Ct   0x0033   099   099   036    Pre-fail  Always       -       61
P.S.: Не увеличилось?!
…
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
Ладно, я дурак, не сообразил сразу. Меня смутило, что раньше беды были только pending, а не offline uncorrectable.

Исходная версия Deleted, :

Хмм… Провернул для него обычные операции по затиранию:

┖ .08 at home $ fdisk /dev/sda
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x43976a6a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63       80324       40131   83  Linux
/dev/sda2           80325   104952644    52436160   83  Linux
/dev/sda3       104952645   109161674     2104515   83  Linux
/dev/sda4       109162496  1953525167   922181336   83  Linux

┎ /home/fargred
┖ .08 at home $ echo $((1670581106-109162496))
1561418610
┎ /home/fargred
┖ .07 at home $ tune2fs -l /dev/sda4 | grep Block
Block count:              230545334
Block size:               4096

Ну и пошло-поехало…

┎ /home/fargred
┖ .04 at home $ cat /tmp/bad_lba 
1670581106
┎ /home/fargred
┖ .05 at home $ echo '(1670581106 - 109162496)/8' | bc > /tmp/bb
┎ /home/fargred
┖ .05 at home $ debugfs
debugfs 1.42.7 (21-Jan-2013)
debugfs:  open /dev/sda4
debugfs:  testb 19577326
Block 19577326 marked in use
А вот это занятно. Я же его вчера ещё отправил в бедблоки у самой ФС. Или это тоже считается in use?
debugfs:  quit
┎ /home/fargred
┖ .05 at home $ dumpe2fs -b /dev/sda4
dumpe2fs 1.42.7 (21-Jan-2013)
195177326
Ну да, вот он, родимый.
┎ /home/fargred
┖ .04 at home $ debugfs
debugfs 1.42.7 (21-Jan-2013)
debugfs:  open /dev/sda4
debugfs:  icheck 195177326
Block	Inode number
195177326	<block not found>
P.S.: Так и должно быть?
debugfs:  quit
┎ /home/fargred
┖ .06 at home $ dd if=/dev/zero of=/dev/sda4 bs=4096 count=1 seek=195177326
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 9.3482e-05 s, 43.8 MB/s
А вот здесь я удивился, так как ожидал Input/Output error.
┎ /home/fargred
┖ .06 at home $ sync
┎ /home/fargred
┖ .05 at home $ smartctl -A /dev/sda
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
…
  5 Reallocated_Sector_Ct   0x0033   099   099   036    Pre-fail  Always       -       61
…
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
Ладно, я дурак, не сообразил сразу. Меня смутило, что раньше беды были только pending, а не offline uncorrectable.