[jcifs] IntegraTUM WebDisk available

Thomas Bley thomas.bley at simple-groupware.de
Fri Aug 12 05:54:00 GMT 2005


Hi,

I'm using this code with a NetApp Filer:

     	SmbFile file = new SmbFile( argv[0] );
     	
         SmbFile[] files = file.listFiles();
         for( int i = 0; i < files.length; i++ ) {
             System.out.println(files[i].getName() );
         }
         System.out.println(file.getDiskFreeSpace());

I get:

C:\eclipse\eclipse-SDK-3.0.1-win32\eclipse\workspace\jcifs_test\bin>java
-cp ../
jcifs-1.2.1.jar;. -Djcifs.util.loglevel=3 GetFreeDiskSpace
smb://integratum;joet
ester:testme at 10.156.11.3/joetester/
#JCIFS PROPERTIES
#Fri Aug 12 07:50:47 CEST 2005
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path=c\:\\j2sdk1.4.2_08\\jre\\bin
java.vm.version=1.4.2_08-b03
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http\://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=DE
sun.os.patch.level=Service Pack 4
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C\:\\eclipse\\eclipse-SDK-3.0.1-win32\\eclipse\\workspace\\jcifs_test\\
bin
java.runtime.version=1.4.2_08-b03
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=c\:\\j2sdk1.4.2_08\\jre\\lib\\endorsed
os.arch=x86
java.io.tmpdir=C\:\\DOKUME~1\\ADMINI~1\\LOKALE~1\\Temp\\
line.separator=\r\n
java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows 2000
sun.java2d.fontpath=
java.library.path=c\:\\j2sdk1.4.2_08\\bin;.;C\:\\WINNT\\system32;C\:\\WINNT;c\:\
\j2sdk1.4.2_08\\bin;C\:\\WINNT\\system32;C\:\\WINNT;C\:\\WINNT\\System32\\Wbem;C
\:\\Programme\\Gemeinsame
Dateien\\GTK\\2.0\\bin;C\:\\Programme\\Perforce;d\:\\P
rogramme\\Rational\\common
java.specification.name=Java Platform API Specification
java.class.version=48.0
java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory
os.version=5.0
user.home=C\:\\Dokumente und Einstellungen\\Administrator
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=Cp1252
java.specification.version=1.4
jcifs.util.loglevel=3
user.name=Administrator
java.class.path=../jcifs-1.2.1.jar;.
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=c\:\\j2sdk1.4.2_08\\jre
java.specification.vendor=Sun Microsystems Inc.
user.language=de
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.4.2_08
java.ext.dirs=c\:\\j2sdk1.4.2_08\\jre\\lib\\ext
sun.boot.class.path=c\:\\j2sdk1.4.2_08\\jre\\lib\\rt.jar;c\:\\j2sdk1.4.2_08\\jre
\\lib\\i18n.jar;c\:\\j2sdk1.4.2_08\\jre\\lib\\sunrsasign.jar;c\:\\j2sdk1.4.2_08\
\jre\\lib\\jsse.jar;c\:\\j2sdk1.4.2_08\\jre\\lib\\jce.jar;c\:\\j2sdk1.4.2_08\\jr
e\\lib\\charsets.jar;c\:\\j2sdk1.4.2_08\\jre\\classes
java.vendor=Sun Microsystems Inc.
file.separator=\\
java.vendor.url.bug=http\://java.sun.com/cgi-bin/bugreport.cgi
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.isalist=pentium i486 i386
doFindFirstNext: \
New data read: Transport1[0.0.0.0<00>/10.156.11.3:445]
00000: FF 53 4D 42 72 00 00 00 00 98 01 80 00 00 00 00  | SMBr...........|
00010: 00 00 00 00 00 00 00 00 00 00 7C 2A 00 00 01 00  |..........|*....|

byteCount=30 but readBytesWireFormat returned 28
java.net.SocketTimeoutException: Receive timed out
         at java.net.PlainDatagramSocketImpl.receive(Native Method)
         at java.net.DatagramSocket.receive(DatagramSocket.java:711)
         at jcifs.netbios.NameServiceClient.run(NameServiceClient.java:184)
         at java.lang.Thread.run(Thread.java:534)
treeConnect: unc=\\10.156.11.3\JOETESTER,service=?????
New data read: Transport1[0.0.0.0<00>/10.156.11.3:445]
00000: FF 53 4D 42 73 00 00 00 00 98 01 80 00 00 00 00  | SMBs...........|
00010: 00 00 00 00 00 00 00 00 40 00 7C 2A 00 08 02 00  |........ at .|*....|

New data read: Transport1[0.0.0.0<00>/10.156.11.3:445]
00000: FF 53 4D 42 32 00 00 00 00 98 01 80 00 00 00 00  | SMB2...........|
00010: 00 00 00 00 00 00 00 00 40 00 7C 2A 00 08 03 00  |........ at .|*....|

  Christophs Testordner .DS_Store International Unicode Max
meinedatei.txt Rolf T
om Wolfram jakarta-cactus-13-1.7.zip aj test.txt Firefox 1.0.2.dmg
Favorites Tex
t_Wiki-1.0.0.tar Garfield.jpg prolehre test2.txt Steffi Bernd tst
w32-421c.exe r
eadme.txt sigmod01.pdf download_test ttt baer.jpg Mein Testordner
testfile_100m
clients posixtest Mehrere Kernel konqueror_screenshot1.png iozone Kopie
von iozo
ne testhm linux-2.6.12.4.tar.gz StefanstestNew data read:
Transport1[0.0.0.0<00>
/10.156.11.3:445]
00000: FF 53 4D 42 34 00 00 00 00 98 01 80 00 00 00 00  | SMB4...........|
00010: 00 00 00 00 00 00 00 00 40 00 7C 2A 00 08 04 00  |........ at .|*....|

Christophs Testordner/
.DS_Store
International Unicode/
Max/
meinedatei.txt
Rolf/
Tom/
Wolfram/
jakarta-cactus-13-1.7.zip
aj/
test.txt/
Firefox 1.0.2.dmg
Favorites/
Text_Wiki-1.0.0.tar
Garfield.jpg
prolehre/
test2.txt
Steffi/
Bernd/
tst/
w32-421c.exe
readme.txt
sigmod01.pdf
download_test/
ttt
baer.jpg
Mein Testordner/
testfile_100m
clients/
posixtest/
Mehrere Kernel/
konqueror_screenshot1.png
iozone
Kopie von iozone
testhm/
linux-2.6.12.4.tar.gz
Stefanstest/
New data read: Transport1[0.0.0.0<00>/10.156.11.3:445]
00000: FF 53 4D 42 32 01 00 7C 00 98 01 80 00 00 00 00  | SMB2..|........|
00010: 00 00 00 00 00 00 00 00 40 00 7C 2A 00 08 05 00  |........ at .|*....|

Exception in thread "main" jcifs.smb.SmbException: A device attached to
the syst
em is not functioning.
         at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:453)
         at jcifs.smb.SmbTransport.send(SmbTransport.java:530)
         at jcifs.smb.SmbSession.send(SmbSession.java:226)
         at jcifs.smb.SmbTree.send(SmbTree.java:95)
         at jcifs.smb.SmbFile.send(SmbFile.java:688)
         at jcifs.smb.SmbFile.queryFSInformation(SmbFile.java:2170)
         at jcifs.smb.SmbFile.getDiskFreeSpace(SmbFile.java:2153)
         at GetFreeDiskSpace.main(GetFreeDiskSpace.java:16)

C:\eclipse\eclipse-SDK-3.0.1-win32\eclipse\workspace\jcifs_test\bin>


my bypass:

     public long getDiskFreeSpace() throws SmbException {
         if( getType() == TYPE_SHARE || type == TYPE_FILESYSTEM ) {
         	int level =
Trans2QueryFSInformationResponse.SMB_FS_FULL_SIZE_INFORMATION;
             try {
                 return queryFSInformation(level);
             } catch( SmbException ex ) {
             	// tb
                 level =
Trans2QueryFSInformationResponse.SMB_INFO_ALLOCATION;
                 return queryFSInformation(level);
/*
                 if(ex.getNtStatus() ==
NtStatus.NT_STATUS_INVALID_INFO_CLASS) {
                     // SMB_FS_FULL_SIZE_INFORMATION not supported by
the server.
                     level =
Trans2QueryFSInformationResponse.SMB_INFO_ALLOCATION;
                     return queryFSInformation(level);
                 }
                 throw ex;
                 */
             }
         }
         return 0L;
     }

bye
tom


Michael B Allen wrote:
> On Thu, 11 Aug 2005 21:40:20 -0400
> Richard Caper <rcaper at gmail.com> wrote:
> 
> 
>>What has happened with Davenport by the way?  Are there any plans for
>>future enhancements or updates?
> 
> 
> Currently I'm in a transitional period and I don't have time to work
> on Davenport. If your using it I would strongly recommend moving to
> Tom's thing.
> 
> Or if someone wants to take it over we can talk about that.
> 
> Mike
> 
> 




More information about the jcifs mailing list