Re: Major pending change in 2.5 for multi-gigabyte file support

From: Serassio Guido <guido.serassio@dont-contact.us>
Date: Fri, 08 Apr 2005 15:05:31 +0200

At 14.28 08/04/2005, Henrik Nordstrom wrote:

>Most likely a generic problem. There is some safe casts from 64 to 32 bits
>if you have compiled with 32-bit file I/O (32-bit off_t), but these should
>all be within the store layer, not elsewhere.

Squid now is build without LARGE_CACHE_FILE, but with 64 bit squid_off_t
and 32 bit off_t, I'm still trying to understand how the Windows 64 bit
file support is complete.

>Can you please send a complete list with the contents of the relevant
>lines (your linenumbers differ somewhat from the normal sources) so I can
>audit which of these are for real and which are just stupid warnings.

These are in file different between s2_5 and nt-2_5 branches:

C:\work\nt-2.5\src\comm.c(242) : warning C4244: 'function' : conversion
from '__int64 ' to 'int ', possible loss of data
     if (Config.tcpRcvBufsz > 0 && sock_type == SOCK_STREAM)
==> commSetTcpRcvbuf(new_socket, Config.tcpRcvBufsz);
     return new_socket;

C:\work\nt-2.5\src\comm.c(388) : warning C4244: 'function' : conversion
from '__int64 ' to 'int ', possible loss of data
     if (Config.tcpRcvBufsz > 0)
==> commSetTcpRcvbuf(cs->fd, Config.tcpRcvBufsz);
     return 1;

C:\work\nt-2.5\src\stat.c(1440) : warning C4244: '=' : conversion from
'__int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\stat.c(1441) : warning C4244: '=' : conversion from
'__int64 ' to 'unsigned int ', possible loss of data
     assert(minutes < N_COUNT_HIST);
==> c = CountHist[0].client_http.kbytes_out.kb -
CountHist[minutes].client_http.kbytes_out.kb;
==> s = CountHist[0].server.all.kbytes_in.kb -
CountHist[minutes].server.all.kbytes_in.kb;
#if USE_CACHE_DIGESTS

C:\work\nt-2.5\src\store_dir.c(283) : warning C4244: 'initializing' :
conversion from '__int64 ' to 'int ', possible loss of data
storeDirUpdateSwapSize(SwapDir * SD, squid_off_t size, int sign)
{
==> int blks = (size + SD->fs.blksize - 1) / SD->fs.blksize;
     int k = (blks * SD->fs.blksize >> 10) * sign;

The following are in files identical between s2_5 and nt-2_5:

C:\work\nt-2.5\src\cache_cf.c(564) : warning C4244: '=' : conversion from
'double ' to '__int64 ', possible loss of data
C:\work\nt-2.5\src\client_side.c(1740) : warning C4244: 'initializing' :
conversion from '__int64 ' to 'const unsigned int ', possible loss of data
C:\work\nt-2.5\src\client_side.c(1820) : warning C4244: 'initializing' :
conversion from '__int64 ' to 'const unsigned int ', possible loss of data
C:\work\nt-2.5\src\client_side.c(2100) : warning C4244: 'function' :
conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\client_side.c(2105) : warning C4244: 'function' :
conversion from '__int64 ' to 'int ', possible loss of data
C:\work\nt-2.5\src\client_side.c(3317) : warning C4244: '=' : conversion
from '__int64 ' to 'int ', possible loss of data
C:\work\nt-2.5\src\ftp.c(2595) : warning C4244: '=' : conversion from
'__int64 ' to 'int ', possible loss of data
C:\work\nt-2.5\src\HttpHdrRange.c(319) : warning C4244: 'function' :
conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\HttpHdrRange.c(384) : warning C4244: '=' : conversion
from '__int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\HttpHdrRange.c(407) : warning C4244: '=' : conversion
from 'const __int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\HttpHdrRange.c(409) : warning C4244: '+=' : conversion
from 'const __int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\MemPool.c(93) : warning C4244: '=' : conversion from
'__int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\mime.c(450) : warning C4244: '=' : conversion from
'__int64 ' to 'int ', possible loss of data
C:\work\nt-2.5\src\stmem.c(162) : warning C4244: '=' : conversion from
'__int64 ' to 'int ', possible loss of data
C:\work\nt-2.5\src\store.c(972) : warning C4244: '=' : conversion from
'__int64 ' to 'long ', possible loss of data
C:\work\nt-2.5\src\store.c(1017) : warning C4244: '=' : conversion from
'__int64 ' to 'int ', possible loss of data
C:\work\nt-2.5\src\store_io.c(30) : warning C4244: '=' : conversion from
'__int64 ' to 'unsigned int ', possible loss of data
C:\work\nt-2.5\src\store_swapout.c(331) : warning C4244: '=' : conversion
from '__int64 ' to 'unsigned int ', possible loss of data

Regards

Guido

-
========================================================
Guido Serassio
Acme Consulting S.r.l. - Microsoft Certified Partner
Via Lucia Savarino, 1 10098 - Rivoli (TO) - ITALY
Tel. : +39.011.9530135 Fax. : +39.011.9781115
Email: guido.serassio@acmeconsulting.it
WWW: http://www.acmeconsulting.it/
Received on Fri Apr 08 2005 - 07:06:06 MDT

This archive was generated by hypermail pre-2.1.9 : Sun May 01 2005 - 12:00:06 MDT