[DRBD-cvs] svn commit by phil - r2543 - trunk/drbd - This was quite
expensive, until we finally understood t
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Wed Oct 18 17:06:15 CEST 2006
Author: phil
Date: 2006-10-18 17:06:14 +0200 (Wed, 18 Oct 2006)
New Revision: 2543
Modified:
trunk/drbd/drbd_req.c
trunk/drbd/drbd_worker.c
Log:
This was quite expensive, until we finally understood that it was not a
real IO error, but that the backing device simply said, that it does
not support BARRIERS ;(
Modified: trunk/drbd/drbd_req.c
===================================================================
--- trunk/drbd/drbd_req.c 2006-10-17 17:39:57 UTC (rev 2542)
+++ trunk/drbd/drbd_req.c 2006-10-18 15:06:14 UTC (rev 2543)
@@ -747,6 +747,12 @@
drbd_request_t *req;
int local, remote;
+ /* Currently our BARRIER code is disabled. */
+ if(unlikely(bio_barrier(bio))) {
+ bio_endio(bio, bio->bi_size, -EOPNOTSUPP);
+ return 0;
+ }
+
/* allocate outside of all locks; get a "reference count" (ap_bio_cnt)
* to avoid races with the disconnect/reconnect code. */
inc_ap_bio(mdev);
Modified: trunk/drbd/drbd_worker.c
===================================================================
--- trunk/drbd/drbd_worker.c 2006-10-17 17:39:57 UTC (rev 2542)
+++ trunk/drbd/drbd_worker.c 2006-10-18 15:06:14 UTC (rev 2543)
@@ -165,6 +165,8 @@
// see above
if (bio->bi_size) return 1;
+ if(error) DUMPI(error);
+
/* to avoid recursion in _req_mod */
what = error
? (bio_data_dir(bio) == WRITE)
More information about the drbd-cvs
mailing list