[linux-lvm] pvmove and badsectors

Dieter Stueken stueken at conterra.de
Fri Aug 1 06:11:01 UTC 2003

Heinz J . Mauelshagen wrote:
> pvmove moves data chunk by chunk (64kB).
> If such chunk read fails, it retries rereading the failed chunk sector
> by sector in order to retrieve as much data as possible.

I'm about to try it. But afterwards I like to analyze which files
are affected using "debugfs". As far as I understand the code, any
unreadable sector is zeroed. The printf reports about the unreadable
sector, but only prints the # of the sector from the input device.
Instead I'm interested on where the zeroed sector ends up on the
destionation device, to locate it later on. Questions:

the printed sector number counts 512 byte sectors?
If I run pvmove -v, it reports the PE# and LE# of the
PE currently copying. I hope I can calculate this way:

Get sector# modulo PE size to get the relative position
of the broken sector within the PE, and using the destionation
LE# + the offset to get the sector # on the LV after the
move. Right?

write such informations to syslog to be sure this is
saved somewhere. If this is printed on screen olny, I may loose
this information easily and won't have any change to locate the
broken sector later on.

Dieter Stüken, con terra GmbH, Münster
     stueken at conterra.de

More information about the linux-lvm mailing list