[DRBD-cvs] drbd by phil; Bug fixes all over the place. * drbd_set...
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Sun, 7 Mar 2004 09:46:42 +0100 (CET)
DRBD CVS committal
Author : phil
Module : drbd
Dir : drbd/drbd
Modified Files:
Tag: rel-0_7-branch
drbd_compat_wrappers.h drbd_int.h drbd_main.c
Log Message:
Bug fixes all over the place.
* drbd_set_my_capacity() was only setting the size of our enclosing
gendisk, but not the size of the block device. FIXED.
* If the asender terminates by itself, it could happen that wake_asender()
calls force_sig() with task=NULL. FIXED.
* la_size should be set as soon as we have written this to stable storage.
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_compat_wrappers.h,v
retrieving revision 1.1.2.31
retrieving revision 1.1.2.32
diff -u -3 -r1.1.2.31 -r1.1.2.32
--- drbd_compat_wrappers.h 6 Mar 2004 08:45:28 -0000 1.1.2.31
+++ drbd_compat_wrappers.h 7 Mar 2004 08:46:37 -0000 1.1.2.32
@@ -307,6 +307,7 @@
static inline void drbd_set_my_capacity(drbd_dev *mdev, sector_t size)
{
set_capacity(mdev->vdisk,size);
+ mdev->this_bdev->bd_inode->i_size = size << 9;
}
//#warning "FIXME why don't we care for the return value?"
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_int.h,v
retrieving revision 1.58.2.132
retrieving revision 1.58.2.133
diff -u -3 -r1.58.2.132 -r1.58.2.133
--- drbd_int.h 6 Mar 2004 13:28:13 -0000 1.58.2.132
+++ drbd_int.h 7 Mar 2004 08:46:37 -0000 1.58.2.133
@@ -1012,7 +1012,9 @@
}
static inline void wake_asender(drbd_dev *mdev) {
- force_sig(DRBD_SIG, mdev->asender.task);
+ if(mdev->asender.task) { // could be wrong if asender just terminated.
+ force_sig(DRBD_SIG, mdev->asender.task);
+ }
}
static inline void request_ping(drbd_dev *mdev) {
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_main.c,v
retrieving revision 1.73.2.139
retrieving revision 1.73.2.140
diff -u -3 -r1.73.2.139 -r1.73.2.140
--- drbd_main.c 6 Mar 2004 20:31:59 -0000 1.73.2.139
+++ drbd_main.c 7 Mar 2004 08:46:37 -0000 1.73.2.140
@@ -1955,6 +1955,7 @@
sector = drbd_md_ss(mdev) + MD_GC_OFFSET;
drbd_md_sync_page_io(mdev,sector,WRITE);
+ mdev->la_size = drbd_get_capacity(mdev->this_bdev)>>1;
up(&mdev->md_io_mutex);
dec_local(mdev);