[DRBD-cvs] drbd by phil; devfs for Linux-2.6.

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Mon, 26 Jan 2004 13:02:39 +0100 (CET)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


Modified Files:
      Tag: rel-0_7-branch
	drbd_main.c 


Log Message:
devfs for Linux-2.6. 

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_main.c,v
retrieving revision 1.73.2.108
retrieving revision 1.73.2.109
diff -u -3 -r1.73.2.108 -r1.73.2.109
--- drbd_main.c	25 Jan 2004 19:03:50 -0000	1.73.2.108
+++ drbd_main.c	26 Jan 2004 12:02:34 -0000	1.73.2.109
@@ -69,7 +69,7 @@
 #include "drbd.h"
 #include "drbd_int.h"
 
-#ifdef CONFIG_DEVFS_FS
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) && defined (CONFIG_DEVFS_FS)
 #include <linux/devfs_fs_kernel.h>
 static devfs_handle_t devfs_handle;
 #endif
@@ -1257,6 +1257,8 @@
 	if (!drbd_blocksizes || !drbd_sizes)
 		goto Enomem;
 #else
+	devfs_mk_dir("nbd");
+
 	for (i = 0; i < minor_count; i++) {
 		drbd_dev    *mdev = drbd_conf + i;
 		struct gendisk         *disk;
@@ -1277,8 +1279,8 @@
 		disk->major = MAJOR_NR;
 		disk->first_minor = i;
 		disk->fops = &drbd_ops;
-		sprintf(disk->disk_name, DEVICE_NAME "%d", i);
-		sprintf(disk->devfs_name, DEVICE_NAME "/%d", i);
+		sprintf(disk->disk_name, DEVICE_NAME "nbd%d", i);
+		sprintf(disk->devfs_name, DEVICE_NAME "nbd/%d", i);
 		disk->private_data = mdev;
 		add_disk(disk);
 
@@ -1340,13 +1342,13 @@
 	blk_size[MAJOR_NR] = drbd_sizes;
 )
 
-#ifdef CONFIG_DEVFS_FS
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) && defined (CONFIG_DEVFS_FS)
 	devfs_handle = devfs_mk_dir (NULL, "nbd", NULL);
 	devfs_register_series(devfs_handle, "%u", minor_count,
 			      DEVFS_FL_DEFAULT, MAJOR_NR, 0,
 			      S_IFBLK | S_IRUSR | S_IWUSR,
 			      &drbd_ops, NULL);
-# endif
+#endif
 
 	NOT_IN_26(blk_queue_make_request(BLK_DEFAULT_QUEUE(MAJOR_NR),drbd_make_request);)
 
@@ -1412,9 +1414,10 @@
 {
 	int i;
 
-#ifdef CONFIG_DEVFS_FS
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) && defined (CONFIG_DEVFS_FS)
 	devfs_unregister(devfs_handle);
 #endif
+	ONLY_IN_26( devfs_remove("nbd"); )
 
 #warning "FIXME increase module refcount with each setup device"
 	/* then you need to tear down all devices