[Drbd-dev] main.c comments
David Butterfield
dab21774 at gmail.com
Wed Jun 5 18:15:23 CEST 2019
These three comments about main.c are the end of what I have on DRBD for now.
Three more things I noticed in drbd_main.c:
(1) Isn't the third argument to module_param_named() supposed to be the type of
the second argument? (But seems to require it as a single token??)
(2) The cast avoids a compiler warning about signed/unsigned comparison.
(3) q->queue_lock is needed by blk_queue_flag_set(), even if !defined(blk_queue_plugged),
so I would move its initialization outside the #ifdef blk_queue_plugged.
diff --git a/drbd/drbd_main.c b/drbd/drbd_main.c
index 4204deff..69245c57 100644
--- a/drbd/drbd_main.c
+++ b/drbd/drbd_main.c
@@ -146,7 +153,7 @@ const struct kernel_param_ops param_ops_drbd_protocol_version = {
#endif
unsigned int drbd_protocol_version_min = PRO_VERSION_MIN;
-module_param_named(protocol_version_min, drbd_protocol_version_min, drbd_protocol_version, 0644);
+module_param_named(protocol_version_min, drbd_protocol_version_min, uint, 0644);
/* in 2.6.x, our device mapping and config info contains our virtual gendisks
@@ -1831,7 +1840,7 @@ static void dcbp_set_start(struct p_compressed_bm *p, int set)
static void dcbp_set_pad_bits(struct p_compressed_bm *p, int n)
{
BUG_ON(n & ~0x7);
- p->encoding = (p->encoding & (~0x7 << 4)) | (n << 4);
+ p->encoding = (p->encoding & ((unsigned)~0x7 << 4)) | (n << 4);
}
static int fill_bitmap_rle_bits(struct drbd_peer_device *peer_device,
@@ -3760,8 +3769,9 @@ enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsig
#ifdef COMPAT_HAVE_BLK_QUEUE_MERGE_BVEC
blk_queue_merge_bvec(q, drbd_merge_bvec);
#endif
+ q->queue_lock = &resource->req_lock; /* used by blk_queue_flag_set() */
#ifdef blk_queue_plugged
- q->queue_lock = &resource->req_lock; /* needed since we use */
+ /* needed since we use */
/* plugging on a queue, that actually has no requests! */
q->unplug_fn = drbd_unplug_fn;
#endif
More information about the drbd-dev
mailing list