Commit b7a10626 authored by Steve French's avatar Steve French

[CIFS] WARN_ON_ONCE if kernel_sendmsg() returns -ENOSPC

kernel_sendmsg() is less likely to return -ENOSPC and it might be
a bug to do so. However, in the past there might have been cases
where a -ENOSPC was returned from a low level driver.

Add a WARN_ON_ONCE() to ensure that it is safe to assume that -ENOSPC
is no longer returned. This -ENOSPC specific handling will be removed
once we are sure it is no longer returned.
Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
Signed-off-by: default avatarSuresh Jayaraman <sjayaraman@suse.com>
Signed-off-by: default avatarSteve French <smfrench@gmail.com>
parent 612a9aab
...@@ -183,6 +183,12 @@ smb_send_kvec(struct TCP_Server_Info *server, struct kvec *iov, size_t n_vec, ...@@ -183,6 +183,12 @@ smb_send_kvec(struct TCP_Server_Info *server, struct kvec *iov, size_t n_vec,
rc = kernel_sendmsg(ssocket, &smb_msg, &iov[first_vec], rc = kernel_sendmsg(ssocket, &smb_msg, &iov[first_vec],
n_vec - first_vec, remaining); n_vec - first_vec, remaining);
if (rc == -ENOSPC || rc == -EAGAIN) { if (rc == -ENOSPC || rc == -EAGAIN) {
/*
* Catch if a low level driver returns -ENOSPC. This
* WARN_ON will be removed by 3.10 if no one reports
* seeing this.
*/
WARN_ON_ONCE(rc == -ENOSPC);
i++; i++;
if (i >= 14 || (!server->noblocksnd && (i > 2))) { if (i >= 14 || (!server->noblocksnd && (i > 2))) {
cERROR(1, "sends on sock %p stuck for 15 " cERROR(1, "sends on sock %p stuck for 15 "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment