**** LVM 0.8final patch vs. 2.3.99-pre3 ***

From: Heinz Mauelshagen (mauelsha@EZ-Darmstadt.telekom.de)
Date: Tue Apr 04 2000 - 18:26:20 EST


Actually there are still some pieces missing which i need for LVM.

   File Reason
   ---------------------------- -----------------------------------------
   drivers/block/Config.in enable LVM choice
   drivers/block/ll_rw_blk.c initialization of LVM
   drivers/block/lvm.c type correction for static LVM driver
   fs/block_dev.c type corrections for static LVM driver
   fs/partitions/check.c /proc/partitions LVM support
   include/linux/fs.h missing definitions
   kernel/ksyms.c missing exported symbols

I attached these missing pieces vs. 2.3.99-pre3 below.
Please include them.

Regards,
Heinz

--- linux-2.3.99-pre3.orig/drivers/block/Config.in Tue Apr 4 23:12:54 2000
+++ linux-2.3.99-pre3/drivers/block/Config.in Tue Apr 4 23:12:54 2000
@@ -47,6 +47,10 @@
 if [ "$CONFIG_NET" = "y" ]; then
    tristate 'Network block device support' CONFIG_BLK_DEV_NBD
 fi
+tristate 'Logical volume manager (LVM) support' CONFIG_BLK_DEV_LVM N
+if [ "$CONFIG_BLK_DEV_LVM" != "n" ]; then
+ bool ' LVM information in proc filesystem' CONFIG_LVM_PROC_FS Y
+fi
 bool 'Multiple devices driver support' CONFIG_BLK_DEV_MD
 if [ "$CONFIG_BLK_DEV_MD" = "y" ]; then
    tristate ' Linear (append) mode' CONFIG_MD_LINEAR
--- linux-2.3.99-pre3.orig/drivers/block/ll_rw_blk.c Tue Apr 4 23:12:55 2000
+++ linux-2.3.99-pre3/drivers/block/ll_rw_blk.c Tue Apr 4 23:12:55 2000
@@ -1073,6 +1073,9 @@
 #ifdef CONFIG_BLK_DEV_NBD
         nbd_init();
 #endif
+#ifdef CONFIG_BLK_DEV_LVM
+ lvm_init();
+#endif
         return 0;
 };
 
--- linux-2.3.99-pre3.orig/drivers/block/lvm.c Tue Apr 4 23:12:55 2000
+++ linux-2.3.99-pre3/drivers/block/lvm.c Tue Apr 4 23:12:55 2000
@@ -287,7 +287,7 @@
 static char pv_name[NAME_LEN];
 /* static char rootvg[NAME_LEN] = { 0, }; */
 static uint lv_open = 0;
-static const char *const lvm_name = LVM_NAME;
+const char *const lvm_name = LVM_NAME;
 static int lock = 0;
 static int loadtime = 0;
 static uint vg_count = 0;
@@ -931,7 +931,7 @@
                 printk(KERN_DEBUG
                        "%s -- lvm_blk_ioctl -- BLKRAGET\n", lvm_name);
 #endif
- if (put_user(lv->lv_read_ahead, (long *)arg))
+ if (put_user(lv_ptr->lv_read_ahead, (long *)arg))
                         return -EFAULT;
                 break;
 
--- linux-2.3.99-pre3.orig/fs/block_dev.c Tue Apr 4 23:12:55 2000
+++ linux-2.3.99-pre3/fs/block_dev.c Tue Apr 4 23:12:55 2000
@@ -313,7 +313,7 @@
  * since the vma has no handle.
  */
  
-static int block_fsync(struct file *filp, struct dentry *dentry)
+int block_fsync(struct file *filp, struct dentry *dentry)
 {
         return fsync_dev(dentry->d_inode->i_rdev);
 }
@@ -650,7 +650,7 @@
         return ret;
 }
 
-static int blkdev_close(struct inode * inode, struct file * filp)
+int blkdev_close(struct inode * inode, struct file * filp)
 {
         return blkdev_put(inode->i_bdev, BDEV_FILE);
 }
--- linux-2.3.99-pre3.orig/fs/partitions/check.c Tue Apr 4 23:12:55 2000
+++ linux-2.3.99-pre3/fs/partitions/check.c Tue Apr 4 23:12:55 2000
@@ -71,6 +71,11 @@
         NULL
 };
 
+#if defined CONFIG_BLK_DEV_LVM || defined CONFIG_BLK_DEV_LVM_MODULE
+#include <linux/lvm.h>
+void (*lvm_hd_name_ptr) (char *, int) = NULL;
+#endif
+
 /*
  * disk_name() is used by genhd.c and blkpg.c.
  * It formats the devicename of the indicated disk into
@@ -97,6 +102,13 @@
          * This requires special handling here.
          */
         switch (hd->major) {
+#if defined CONFIG_BLK_DEV_LVM || defined CONFIG_BLK_DEV_LVM_MODULE
+ case LVM_BLK_MAJOR:
+ *buf = 0;
+ if ( lvm_hd_name_ptr != NULL)
+ (lvm_hd_name_ptr) ( buf, minor);
+ return buf;
+#endif
                 case IDE9_MAJOR:
                         unit += 2;
                 case IDE8_MAJOR:
--- linux-2.3.99-pre3.orig/include/linux/fs.h Tue Apr 4 23:12:56 2000
+++ linux-2.3.99-pre3/include/linux/fs.h Tue Apr 4 23:12:56 2000
@@ -827,6 +827,7 @@
 extern struct block_device *bdget(dev_t);
 extern void bdput(struct block_device *);
 extern int blkdev_open(struct inode *, struct file *);
+extern int blkdev_close(struct inode * inode, struct file * filp);
 extern struct file_operations def_blk_fops;
 extern struct file_operations def_fifo_fops;
 extern int ioctl_by_bdev(struct block_device *, unsigned, unsigned long);
@@ -1043,6 +1044,7 @@
 
 /* Generic buffer handling for block filesystems.. */
 extern int block_flushpage(struct page *, unsigned long);
+extern int block_fsync(struct file *filp, struct dentry *dentry);
 extern int block_symlink(struct inode *, const char *, int);
 extern int block_write_full_page(struct page*, get_block_t*);
 extern int block_read_full_page(struct page*, get_block_t*);
--- linux-2.3.99-pre3.orig/kernel/ksyms.c Tue Apr 4 23:12:56 2000
+++ linux-2.3.99-pre3/kernel/ksyms.c Tue Apr 4 23:12:56 2000
@@ -52,6 +52,11 @@
 #include <linux/kmod.h>
 #endif
 
+#ifdef CONFIG_BLK_DEV_LVM_MODULE
+extern void (*lvm_hd_name_ptr) ( char*, int);
+EXPORT_SYMBOL(lvm_hd_name_ptr);
+#endif
+
 extern int console_loglevel;
 extern void set_device_ro(kdev_t dev,int flag);
 #if !defined(CONFIG_NFSD) && defined(CONFIG_NFSD_MODULE)
@@ -234,6 +239,7 @@
 EXPORT_SYMBOL(page_readlink);
 EXPORT_SYMBOL(page_follow_link);
 EXPORT_SYMBOL(page_symlink_inode_operations);
+EXPORT_SYMBOL(block_fsync);
 EXPORT_SYMBOL(block_symlink);
 EXPORT_SYMBOL(vfs_readdir);
 
@@ -271,6 +277,7 @@
 EXPORT_SYMBOL(sync_dev);
 EXPORT_SYMBOL(devfs_register_partitions);
 EXPORT_SYMBOL(blkdev_open);
+EXPORT_SYMBOL(blkdev_close);
 EXPORT_SYMBOL(blkdev_get);
 EXPORT_SYMBOL(blkdev_put);
 EXPORT_SYMBOL(ioctl_by_bdev);

-- 

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Systemmanagement TS T-Nova Entwicklungszentrum Darmstadt Heinz Mauelshagen Otto-Roehm-Strasse 71c Senior Systems Engineer Postfach 10 05 41 64205 Darmstadt mge@EZ-Darmstadt.Telekom.de Germany +49 6151 886-425 FAX-386 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Apr 07 2000 - 21:00:13 EST