[linux-lvm] Re: PATCH: volume drivers in ll_rw_block

David Teigland teigland at lcse.umn.edu
Tue Aug 10 19:39:41 UTC 1999


> the lvm_map-0.7 lacks one thing in ll_rw_blk.c, i show below in
> generic_map-2.2.10-raid what and where.

> -#if defined CONFIG_BLK_DEV_LVM || defined CONFIG_BLK_DEV_LVM_MODULE
> -                major = MAJOR(bh[i]->b_dev);
> -                if ( major == LVM_BLK_MAJOR) {
> -                   int ret;
> -
> -                   if ( lvm_map_ptr == NULL) {
> -                              printk ( KERN_ERR
> -                               "Bad lvm_map_ptr in ll_rw_block\n");
> -                      goto sorry;
> -                   }
> -                   if ( ( ret = ( lvm_map_ptr) ( MINOR ( bh[i]->b_dev),
> -                                                 &bh[i]->b_rdev,
> -                                                 &bh[i]->b_rsector,
> -                                                 bh[i]->b_size >> 9,
> -                                                 rw)) != 0) {
> -                      printk ( KERN_ERR
> -                               "Bad lvm_map in ll_rw_block\n");
> -                      goto sorry;
> -                   }
> -                   /* remap major too ... */
> -                   major = MAJOR(bh[i]->b_rdev);
> -               }
> -#endif


Correct.  This chunk is no longer needed.  In the lvm_map-0.7 patch I
wasn't trying to fix everything from patch-2.2.10-LVM, only lvm.c.

To adhere with the generic mapping, patch-2.2.10-LVM should change in the
following ways:

 - remove all modifications to the function ll_rw_block()
 - remove all references to lvm_map from ll_rw_blk.c
 - lvm.c should include the changes in lvm_map-0.7

In other words, when using the generic mapping, the LVM stuff shouldn't
affect ll_rw_blk.c at all except the insertion of lvm_init at the very
end.  This simplifies the LVM patch.

Thanks for pointing that out.  I'm not sure if this addresses your fsck
problem or not.

David Teigland




More information about the linux-lvm mailing list