[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);