module: fix to send only the bytes read from file - no more no less
authorRăzvan Crainea <razvan.crainea@gmail.com>
Sat, 2 Jun 2012 09:28:51 +0000 (12:28 +0300)
committerRăzvan Crainea <razvan.crainea@gmail.com>
Sat, 2 Jun 2012 09:28:51 +0000 (12:28 +0300)
module/p2pkp_sock.c

index 3c362a4..06862e3 100644 (file)
@@ -255,8 +255,8 @@ static int p2pkp_sendmsg(struct kiocb *iocb, struct socket *sock,
                        list_for_each(pos, &ps->conn_list) {
                                        
                                conn = list_entry(pos, struct p2pkp_conn_info, list);
-                               err = p2pkp_msgsend(ps->net_sock,
-                                               &conn->sin, ps->buffer, ps->buffer_len);
+                               err = p2pkp_msgsend(ps->net_sock, &conn->sin,
+                                               ps->buffer, bytes_read);
                                if (err < 0) {
                                        ERROR("can't send first message");
                                        goto out_conn;
@@ -306,6 +306,7 @@ static int p2pkp_recvmsg(struct kiocb *iocb, struct socket *sock,
        lock_sock(sk);
        /* TODO keep connections */
        bytes_read = p2pkp_msgrecv(ps->net_sock, sin, ps->buffer, ps->buffer_len);
+       DEBUG("XXX: received %d bytes\n", bytes_read);
        if (bytes_read > 0) {
                bytes_written = p2pkp_write_in_file(file, ps->buffer, bytes_read);
                err = 0;