Skip to content

Commit

Permalink
drbd: silence some noisy log messages during disconnect
Browse files Browse the repository at this point in the history
If we fail to send the information that we lost our disk,
we have no connection, and no disk: no access to data anymore.
That is either expected (deconfiguration), or there will be so much
noise in the logs that "Sending state failed" is not useful at all.
Drop it.

If the reason for a shorter than expected receive was a signal,
which we sent because we already decided to disconnect,
these additional log messages are confusing and useless.

This patch follows this pattern:
 - dev_warn(DEV, "short read expecting header on sock: r=%d\n", r);
 + if (!signal_pending(current))
 + 	dev_warn(DEV, "short read expecting header on sock: r=%d\n", r);

Also make them all dev_warn for consistency.
  • Loading branch information
lge committed Jan 21, 2011
1 parent 5aff5ed commit d04dadd
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 20 deletions.
6 changes: 2 additions & 4 deletions drbd/drbd_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1709,8 +1709,6 @@ STATIC void after_state_ch(struct drbd_conf *mdev, union drbd_state os,

if (drbd_send_state(mdev))
dev_warn(DEV, "Notified peer that I'm now diskless.\n");
else
dev_err(DEV, "Sending state for being diskless failed\n");
/* corresponding get_ldev in __drbd_set_state
* this may finaly trigger drbd_ldev_destroy. */
put_ldev(mdev);
Expand Down Expand Up @@ -2031,8 +2029,8 @@ int _drbd_send_cmd(struct drbd_conf *mdev, struct socket *sock,
sent = drbd_send(mdev, sock, h, size, msg_flags);

ok = (sent == size);
if (!ok)
dev_err(DEV, "short sent %s size=%d sent=%d\n",
if (!ok && !signal_pending(current))
dev_warn(DEV, "short sent %s size=%d sent=%d\n",
cmdname(cmd), (int)size, sent);
return ok;
}
Expand Down
45 changes: 29 additions & 16 deletions drbd/drbd_receiver.c
Original file line number Diff line number Diff line change
Expand Up @@ -993,7 +993,8 @@ STATIC int drbd_recv_header(struct drbd_conf *mdev, enum drbd_packets *cmd, unsi

r = drbd_recv(mdev, h, sizeof(*h));
if (unlikely(r != sizeof(*h))) {
dev_err(DEV, "short read expecting header on sock: r=%d\n", r);
if (!signal_pending(current))
dev_warn(DEV, "short read expecting header on sock: r=%d\n", r);
return false;
}

Expand Down Expand Up @@ -1417,8 +1418,10 @@ read_in_block(struct drbd_conf *mdev, u64 id, sector_t sector, int data_size) __
if (dgs) {
rr = drbd_recv(mdev, dig_in, dgs);
if (rr != dgs) {
dev_warn(DEV, "short read receiving data digest: read %d expected %d\n",
rr, dgs);
if (!signal_pending(current))
dev_warn(DEV,
"short read receiving data digest: read %d expected %d\n",
rr, dgs);
return NULL;
}
}
Expand Down Expand Up @@ -1458,8 +1461,9 @@ read_in_block(struct drbd_conf *mdev, u64 id, sector_t sector, int data_size) __
kunmap(page);
if (rr != len) {
drbd_free_ee(mdev, e);
dev_warn(DEV, "short read receiving data: read %d expected %d\n",
rr, len);
if (!signal_pending(current))
dev_warn(DEV, "short read receiving data: read %d expected %d\n",
rr, len);
return NULL;
}
ds -= rr;
Expand Down Expand Up @@ -1499,8 +1503,10 @@ STATIC int drbd_drain_block(struct drbd_conf *mdev, int data_size)
rr = drbd_recv(mdev, data, min_t(int, data_size, PAGE_SIZE));
if (rr != min_t(int, data_size, PAGE_SIZE)) {
rv = 0;
dev_warn(DEV, "short read receiving data: read %d expected %d\n",
rr, min_t(int, data_size, PAGE_SIZE));
if (!signal_pending(current))
dev_warn(DEV,
"short read receiving data: read %d expected %d\n",
rr, min_t(int, data_size, PAGE_SIZE));
break;
}
data_size -= rr;
Expand All @@ -1525,8 +1531,10 @@ STATIC int recv_dless_read(struct drbd_conf *mdev, struct drbd_request *req,
if (dgs) {
rr = drbd_recv(mdev, dig_in, dgs);
if (rr != dgs) {
dev_warn(DEV, "short read receiving data reply digest: read %d expected %d\n",
rr, dgs);
if (!signal_pending(current))
dev_warn(DEV,
"short read receiving data reply digest: read %d expected %d\n",
rr, dgs);
return 0;
}
}
Expand All @@ -1547,9 +1555,10 @@ STATIC int recv_dless_read(struct drbd_conf *mdev, struct drbd_request *req,
expect);
kunmap(bvec->bv_page);
if (rr != expect) {
dev_warn(DEV, "short read receiving data reply: "
"read %d expected %d\n",
rr, expect);
if (!signal_pending(current))
dev_warn(DEV, "short read receiving data reply: "
"read %d expected %d\n",
rr, expect);
return 0;
}
data_size -= rr;
Expand Down Expand Up @@ -3937,7 +3946,8 @@ STATIC void drbdd(struct drbd_conf *mdev)
if (shs) {
rv = drbd_recv(mdev, &header->h80.payload, shs);
if (unlikely(rv != shs)) {
dev_err(DEV, "short read while reading sub header: rv=%d\n", rv);
if (!signal_pending(current))
dev_warn(DEV, "short read while reading sub header: rv=%d\n", rv);
goto err_out;
}
}
Expand Down Expand Up @@ -4198,7 +4208,8 @@ STATIC int drbd_do_handshake(struct drbd_conf *mdev)
rv = drbd_recv(mdev, &p->head.payload, expect);

if (rv != expect) {
dev_err(DEV, "short read receiving handshake packet: l=%u\n", rv);
if (!signal_pending(current))
dev_warn(DEV, "short read receiving handshake packet: l=%u\n", rv);
return 0;
}

Expand Down Expand Up @@ -4303,7 +4314,8 @@ STATIC int drbd_do_auth(struct drbd_conf *mdev)
rv = drbd_recv(mdev, peers_ch, length);

if (rv != length) {
dev_err(DEV, "short read AuthChallenge: l=%u\n", rv);
if (!signal_pending(current))
dev_warn(DEV, "short read AuthChallenge: l=%u\n", rv);
rv = 0;
goto fail;
}
Expand Down Expand Up @@ -4350,7 +4362,8 @@ STATIC int drbd_do_auth(struct drbd_conf *mdev)
rv = drbd_recv(mdev, response , resp_size);

if (rv != resp_size) {
dev_err(DEV, "short read receiving AuthResponse: l=%u\n", rv);
if (!signal_pending(current))
dev_warn(DEV, "short read receiving AuthResponse: l=%u\n", rv);
rv = 0;
goto fail;
}
Expand Down

0 comments on commit d04dadd

Please sign in to comment.