[jcifs] 4GB limitation still there ?

Michael B Allen mba2000 at ioplex.com
Fri Aug 27 20:17:26 GMT 2004


On Fri, 27 Aug 2004 10:53:45 +0200
"Jens Viebig" <jviebig at como.com> wrote:

> Hello !
> I try to transfer a file to a windows 2000 share from a linux client with
> jcifs. I use SmbFileOutputstream to transfer a large file (> 8GB).The
> windows system can handle this file, because i uploaded it from here to
> the linux computer.
> I did an upgrade from jcifs 0.7.x to jcifs 0.9.7 which improved
> performance but didn't solve the 4 GB problem. Transfer stops exactly at
> 4.294.963.200 bytes (Tried it several times). Is this a known issue ?
> 
> The Exception I get is:
> jcifs.smb.SmbException: 0xC000007F
>         at jcifs.smb.SmbTransport.send(SmbTransport.java:668)
>         at jcifs.smb.SmbSession.send(SmbSession.java:154)
>         at jcifs.smb.SmbTree.send(SmbTree.java:103)
>         at jcifs.smb.SmbFile.send(SmbFile.java:724)
>         at
>         jcifs.smb.SmbFileOutputStream.write(SmbFileOutputStream.java:220)
>         at org.apache.commons.io.CopyUtils.copy(CopyUtils.java:188)

There should be no such limitation in jCIFS. JCIFS uses 'long' for
file offsets which is a 64bit type. This has been tested but not
thoroughly. It is very possible that a bug has been introduced along
the way somewhere. However, the above status code is being returned by
the server. So I don't think this is a bug in JCIFS. What is the server?

0xC000007F is NT_STATUS_DISK_FULL "There is not enough space on the disk."
[1]

I would look at the server side first and verify with another client
that you can indeed write more than 4GB.

Another thing you might try is to use jcifs.smb.SmbRandomAccessFile to
setLength > 4GB combined with writes to explore the issue with jCIFS too.

Mike

[1] http://jcifs.samba.org/ntstatus.txt

-- 
Greedo shoots first? Not in my Star Wars.


More information about the jcifs mailing list