[linux-lvm] Snapshot resizing bug (LVM1)
Heinz J . Mauelshagen
mauelshagen at sistina.com
Thu Feb 6 04:31:02 UTC 2003
Dale,
thanks for finding this bug.
Obviously people don't resize populated snapshots very often or we'ld
seen this one much earlier ;)
Your fix is in LVM_BRANCH_1-0 for everybody to test.
We plan to revert CVS and will announce the change seperately.
Regards,
Heinz -- The LVM Guy --
On Wed, Feb 05, 2003 at 01:07:01PM -0500, Dale J. Stephenson wrote:
> I've discovered a problem with using lvreduce/lvextend on LVM. The
> resized snapshot will have a new exception table and hash table
> allocated for it. But lvm_hash_link will be called for these in a loop
> that depends on the lv_remap_ptr counter passed down from userspace --
> which will always be zero. The result is that existing COW on the
> snapshot are ignored, and the contents of the snapshot can magically
> change to reflect the current state of the source volume. Reboot (or
> deactivating and reactivating the volume group) should solve the
> problem, although it may be possible in the meantime to store a new COW
> exception for a chunk that already has one.
>
> The fix is simple:
>
> --- lvm.c.orig Tue Feb 4 18:36:58 2003
> +++ lvm.c Tue Feb 4 18:43:26 2003
> @@ -2792,7 +2792,7 @@
> old_lv->lv_snapshot_hash_mask =
> new_lv->lv_snapshot_hash_mask;
>
> - for (e = 0; e < new_lv->lv_remap_ptr; e++)
> + for (e = 0; e < old_lv->lv_remap_ptr; e++)
> lvm_hash_link(new_lv->lv_block_exception + e,
> new_lv->lv_block_exception[e].
> rdev_org,
>
> As a side note, why not revert the main LVM cvs tree back to LVM 1.0.6?
> 1.1 is dead.
>
> Dale J. Stephenson
> dalestephenson at mac.com
>
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at sistina.com
> http://lists.sistina.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
*** Software bugs are stupid.
Nevertheless it needs not so stupid people to solve them ***
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Heinz Mauelshagen Sistina Software Inc.
Senior Consultant/Developer Am Sonnenhang 11
56242 Marienrachdorf
Germany
Mauelshagen at Sistina.com +49 2626 141200
FAX 924446
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
More information about the linux-lvm
mailing list