X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2Fsmbfs%2Fsock.c;h=e37fe4deebd0ebe5050e1fbab7c9ef7cbc2ad4db;hb=e18425a0abc8eafa8e98ecffac517bb0c0904f4b;hp=6815b1b12b68853351a9af047031de63cfae7782;hpb=ceeec3dc375e3b0618f16b34efc56fe093918f8b;p=linux-2.6-omap-h63xx.git diff --git a/fs/smbfs/sock.c b/fs/smbfs/sock.c index 6815b1b12b6..e37fe4deebd 100644 --- a/fs/smbfs/sock.c +++ b/fs/smbfs/sock.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -82,10 +81,10 @@ server_sock(struct smb_sb_info *server) if (server && (file = server->sock_file)) { #ifdef SMBFS_PARANOIA - if (!smb_valid_socket(file->f_dentry->d_inode)) + if (!smb_valid_socket(file->f_path.dentry->d_inode)) PARANOIA("bad socket!\n"); #endif - return SOCKET_I(file->f_dentry->d_inode); + return SOCKET_I(file->f_path.dentry->d_inode); } return NULL; } @@ -330,9 +329,8 @@ smb_receive(struct smb_sb_info *server, struct smb_request *req) msg.msg_control = NULL; /* Dont repeat bytes and count available bufferspace */ - rlen = smb_move_iov(&p, &num, iov, req->rq_bytes_recvd); - if (req->rq_rlen < rlen) - rlen = req->rq_rlen; + rlen = min_t(int, smb_move_iov(&p, &num, iov, req->rq_bytes_recvd), + (req->rq_rlen - req->rq_bytes_recvd)); result = kernel_recvmsg(sock, &msg, p, num, rlen, flags);