Summary: | file copy progress dialog shows incorrect values when copying files > 2GB | ||
---|---|---|---|
Product: | [Unmaintained] kio | Reporter: | James <james> |
Component: | uiserver | Assignee: | David Faure <faure> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | didi156, lowtzow, mariusst, michael.jahn, yllar.pajus |
Priority: | NOR | ||
Version: | 3.3.2 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
James
2005-01-15 15:25:19 UTC
Does it happen only when Samba is one of the endpoints? Or does it happen when copying such files across different paths in the local system as well? I can confirm the bug (when copying from smb to local file). Did not check local/local. Forgot to add: this is KDE 3.5.2 I can confirm this aswell, when 2.0 GB is copied dialog shows strange values. After a while it starts over from zero % aswell (see screenshot). I am copying from smb to local drive. http://bni.dyndns.org/large_file_copy_dialog.png the result of the copy seems fine, only progress that is bugged. I tried a local / local copy and that one worked. So I had a look at the sources of the smb kioslave and I think I might have found the problem. In file kdebase-3.5.2/kioslave/smb/kio_smb_dir.cpp line 51: int processed_size = 0; I think that should be: ssize_t processed_size = 0; However I couldn't test it, make tells me (after executing kdebase-3.5.2/configure): make: *** No targets specified and no makefile found. Stop. I guess I missed some preparation steps but perhaps it helps you anyway. At least it *could* be the reason for that TB filesize value. SVN commit 608111 by mkoller: BUG: 97073 Fix correct display of file size transfers > 2GB M +1 -1 kio_smb_browse.cpp M +1 -1 kio_smb_dir.cpp M +2 -2 kio_smb_file.cpp --- branches/KDE/3.5/kdebase/kioslave/smb/kio_smb_browse.cpp #608110:608111 @@ -47,7 +47,7 @@ { int result = smbc_stat( url.toSmbcUrl(), st); kdDebug(KIO_SMB) << "smbc_stat " << url << " " << errno << " " << result << endl; - kdDebug(KIO_SMB) << "size " << (long)st->st_size << endl; + kdDebug(KIO_SMB) << "size " << (KIO::filesize_t)st->st_size << endl; return result; } --- branches/KDE/3.5/kdebase/kioslave/smb/kio_smb_dir.cpp #608110:608111 @@ -48,7 +48,7 @@ int dstflags; int srcfd = -1; int dstfd = -1; - int processed_size = 0; + KIO::filesize_t processed_size = 0; unsigned char buf[MAX_XFER_BUF_SIZE]; kdDebug(KIO_SMB) << "SMBSlave::copy with src = " << ksrc << "and dest = " << kdst << endl; --- branches/KDE/3.5/kdebase/kioslave/smb/kio_smb_file.cpp #608110:608111 @@ -44,7 +44,7 @@ // time_t curtime = 0; time_t lasttime = 0; time_t starttime = 0; - ssize_t totalbytesread = 0; + KIO::filesize_t totalbytesread = 0; QByteArray filedata; SMBUrl url; @@ -122,7 +122,7 @@ smbc_close(filefd); data( QByteArray() ); - processedSize( st.st_size); + processedSize(static_cast<KIO::filesize_t>(st.st_size)); } else *** Bug 85653 has been marked as a duplicate of this bug. *** *** Bug 107189 has been marked as a duplicate of this bug. *** *** Bug 128241 has been marked as a duplicate of this bug. *** *** Bug 112850 has been marked as a duplicate of this bug. *** *** Bug 140199 has been marked as a duplicate of this bug. *** |