Article delegate-en/3244 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: File size issue with FTP cache
24 May 2006 15:22:00 GMT (Yutaka Sato)
The DeleGate Project


In message [DeleGate-En:3243]
you Steffen Kaiser <> wrote in
on 05/24/06(23:12:21):
 |during my tests, I found three problems, please see below and the 
 |attached log/conf files.
 |Problem 1) Downloaded file is longer than original one.
 |It sort of looks like that there is a problem each 64KB.
 |Problem 2) The local file is cached.
 |Anyway: The file is downloaded, and the Master caches the file, and when 
 |it reaches the 2GB boundary, the server drops the connection.

I also encountered the problem and have fixed it in 9.2.2-pre3a and
9.2.2-pre2.  The problem 1) was caused by Non-blocking I/O introduced in
9.2.2-pre1 to respond to aborting from the client (ABOR command) rapidly.
I saw the problem 2) caused with SIGXFSZ signal and fixed it by doing
open(fd,O_LARGEFILE) when creating a new cache file.
9.2.2-pre2 (a little formal release) includes the fix for 1) only.
9.2.2-pre3a includes many fixes for problems by large files as these ones.

I should have send the copy of the following message to you:

In message [DeleGate-En:3240]
<_A3240@delegate-en.ML_> on 05/24/06(11:11:32) I wrote:
 | |   gcc version 3.3.5 (Debian 1:3.3.5-13)
 |I uploaded delegate9.2.2-pre3a.tar.gz at
 | - it can be compiled with make CFLAGS="-DSTAT64 -O3" in my Debian 3.1
 | - it can serve FTP data larger than 2GB (and larger than 4GB)
 | - it can cache FTP data larger than 2GB (and larger than 4GB)
 | - it displays correct size of data larger than 4GB in FTP message and log
 | - it fixes the problem of broken-data by Non-blocking I/O (since 9.2.2-pre1)

In message <_A3243@delegate-en.ML_> on 05/24/06(23:12:21)
you Steffen Kaiser <> wrote:
 |> What happens without -D_LARGEFILE64_SOURCE ?
 |gcc -DSTAT64 -x c++ -DQS -DNONC99 -I../include -DSTAT64 -c
 | In function `int set_utimes(const char *, int, int)':
 | aggregate `struct FileStat st' has incomplete type and 
 |cannot be initialized
 | type `stat64' is not yet defined

Do you see it with recent Gccs? with Gcc on Debian 3.1 (Sarge ?)
Since I rewrote DeleGate to cope with C++ in DeleGate/8.10.0, I encountered
problems in old Gccs like 2.9X so it is recommended to use Gcc after 3.X
to compile DeleGate.

 |Problem 3) cd works exactly one time

I'll examine the problem.

  D G   Yutaka Sato <>
 ( - )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]