[DRBD-cvs] svn commit by lars - r2154 - trunk/drbd - generically
resort to drbd_blk_run_queue where we need
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Wed Apr 19 10:25:48 CEST 2006
Author: lars
Date: 2006-04-19 10:25:47 +0200 (Wed, 19 Apr 2006)
New Revision: 2154
Modified:
trunk/drbd/drbd_bitmap.c
trunk/drbd/drbd_compat_wrappers.h
trunk/drbd/drbd_int.h
Log:
generically resort to drbd_blk_run_queue where we need to kick a lower level block device
Modified: trunk/drbd/drbd_bitmap.c
===================================================================
--- trunk/drbd/drbd_bitmap.c 2006-04-18 20:07:40 UTC (rev 2153)
+++ trunk/drbd/drbd_bitmap.c 2006-04-19 08:25:47 UTC (rev 2154)
@@ -757,8 +757,8 @@
/* let the layers below us try to merge these bios... */
drbd_bm_page_io_async(mdev,b,i,rw);
}
- q=bdev_get_queue(mdev->bc->md_bdev);
- if(q->request_fn) blk_run_queue(q);
+
+ drbd_blk_run_queue(bdev_get_queue(mdev->bc->md_bdev));
wait_event(b->bm_io_wait, atomic_read(&b->bm_async_io) == 0);
INFO("%s of bitmap took %lu jiffies\n",
rw == READ ? "reading" : "writing", jiffies - now);
Modified: trunk/drbd/drbd_compat_wrappers.h
===================================================================
--- trunk/drbd/drbd_compat_wrappers.h 2006-04-18 20:07:40 UTC (rev 2153)
+++ trunk/drbd/drbd_compat_wrappers.h 2006-04-19 08:25:47 UTC (rev 2154)
@@ -197,20 +197,7 @@
dump_stack();
}
} else {
- request_queue_t *q;
- q = bdev_get_queue(mdev->bc->backing_bdev);
- /*
- * FIXME investigate what makes most sense:
- * struct backing_dev_info *bdi;
- * bdi = mdev->bc->backing_bdev->bd_inode->i_mapping->backing_dev_info;
- * bdi = &q->backing_dev_info;
- * blk_run_queue(q);
- *
- * bdi = &q->backing_dev_info;
- * blk_run_backing_dev(bdi,NULL);
- */
- if (q && q->unplug_fn)
- q->unplug_fn(q);
+ drbd_blk_run_queue(bdev_get_queue(mdev->bc->backing_bdev));
}
}
Modified: trunk/drbd/drbd_int.h
===================================================================
--- trunk/drbd/drbd_int.h 2006-04-18 20:07:40 UTC (rev 2153)
+++ trunk/drbd/drbd_int.h 2006-04-19 08:25:47 UTC (rev 2154)
@@ -1671,3 +1671,23 @@
#endif
return rv;
}
+
+/*
+ * FIXME investigate what makes most sense:
+ * a) blk_run_queue(q);
+ *
+ * b) struct backing_dev_info *bdi;
+ * b1) bdi = &q->backing_dev_info;
+ * b2) bdi = mdev->bc->backing_bdev->bd_inode->i_mapping->backing_dev_info;
+ * blk_run_backing_dev(bdi,NULL);
+ *
+ * c) generic_unplug(q) ? __generic_unplug(q) ?
+ *
+ * d) q->unplug_fn(q), which is what all the drivers/md/ stuff uses...
+ *
+ */
+static inline void drbd_blk_run_queue(request_queue_t *q)
+{
+ if (q && q->unplug_fn)
+ q->unplug_fn(q);
+}
More information about the drbd-cvs
mailing list