[DRBD-cvs] drbd by phil; Fixed drbd_get_capacity(). It was misusi...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Wed, 3 Mar 2004 09:41:49 +0100 (CET)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


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


Log Message:
Fixed drbd_get_capacity(). It was misusing the gendisk, and completely
wrong....  Now it is possible to use drbd on partitions again :)

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_compat_wrappers.h,v
retrieving revision 1.1.2.25
retrieving revision 1.1.2.26
diff -u -3 -r1.1.2.25 -r1.1.2.26
--- drbd_compat_wrappers.h	2 Mar 2004 16:21:08 -0000	1.1.2.25
+++ drbd_compat_wrappers.h	3 Mar 2004 08:41:44 -0000	1.1.2.26
@@ -296,7 +296,7 @@
 /* Returns the number of 512 byte sectors of the device */
 static inline sector_t drbd_get_capacity(struct block_device *bdev)
 {
-	return bdev ? get_capacity(bdev->bd_disk) : 0;
+	return bdev ? bdev->bd_inode->i_size >> 9 : 0;
 }
 
 /* sets the number of 512 byte sectors of our virtual device */
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_fs.c,v
retrieving revision 1.28.2.73
retrieving revision 1.28.2.74
diff -u -3 -r1.28.2.73 -r1.28.2.74
--- drbd_fs.c	11 Feb 2004 22:03:52 -0000	1.28.2.73
+++ drbd_fs.c	3 Mar 2004 08:41:44 -0000	1.28.2.74
@@ -110,12 +110,6 @@
 	unsigned long size=0;
 	int rv;
 
-ONLY_IN_26(
-	if (mdev->this_bdev->bd_disk == 0) { // strange...
-		mdev->this_bdev->bd_disk = mdev->vdisk; 
-	}
-)
-
 	m_size = drbd_get_capacity(mdev->backing_bdev)>>1;
 
 	if (mdev->md_index == -1 && m_size) {// internal metadata
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_main.c,v
retrieving revision 1.73.2.134
retrieving revision 1.73.2.135
diff -u -3 -r1.73.2.134 -r1.73.2.135
--- drbd_main.c	2 Mar 2004 13:15:40 -0000	1.73.2.134
+++ drbd_main.c	3 Mar 2004 08:41:44 -0000	1.73.2.135
@@ -1919,12 +1919,6 @@
 	sector_t sector;
 	int i;
 
-ONLY_IN_26(
-	if (mdev->this_bdev->bd_disk == 0) { // strange...
-		mdev->this_bdev->bd_disk = mdev->vdisk; 
-	}
-)
-
 	if(!inc_local_md_only(mdev)) return;
 
 	down(&mdev->md_io_mutex);