[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [linux-lvm] pv_move_pe() error again :/



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ragnar Kjørstad, on Montag, 10. September 2001 00:16 wrote:
> OK, this is the patch.

thx, for your help, but meanwhile i got one from Holger Grothe.
sorry, but i haven't had time to post it earlier. i do it now because it has 
some advantages...

tools/lib/pv_move.c:

replace:
            fprintf ( stderr, "%s -- ERROR reading input "
                     "physical volume \"%s\" (still %d bytes to read)\n       
                      cmd, vg->pv[src_pv_index]->pv_name, size);
            pe_unlock ( vg->vg_name);
            ret = -LVM_EPV_MOVE_PE_READ_IN;
            goto pv_move_pe_end;
with:
           fprintf ( stderr, "read: %ld, to_read %ld\n", red, to_read);
           memset(buffer,170,to_read);
           red=to_read;

with 170 u can chosse with which chars the bad block should be replaced with. 
(you can search filez for them later if u want - and have enough time ;)

tools/pvmove.c:

replace:
	int buffer_size = 64*1024;
with:   
	int buffer_size = 512;

this is an advantage to your patch, because pvmove then copys only 512 
byte-blocks and if there's only one block damaged u don't loose 64kb data. 
this has one disadvantage: it's SLOW... and slower than that ;)
so change the source and do a static compiling:
./configure --enable-static_link ; make
u can then use the normal pvmove to move your partitions and if there is an 
error u can use the (patched) tools/pvmove program for bad-block moving.
worked find for me and i saw that only one 512 byte block was damaged.
fejf

ps: i used lvm 0.9.1b7 but it should look and work similar with other 
versions but i think a diff is not the best for it ;)
- -- 
Backups are usefull. Most often when you don't have one ;)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7nACM7Xtp66ctWuIRAgg7AKCBCVB/SPRCLjP9i5oHuf6vgx1u9wCeOmzP
ky+sZgdG6iVcPrN9Ufgl5L8=
=Mfig
-----END PGP SIGNATURE-----



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]