[OpenAFS] Windows client problem with Jbuilder5/Acrobat (NO MORE FILES problem)
Lantzer, Ryan
lantzer@umr.edu
Mon, 15 Apr 2002 15:33:10 -0500
I've experienced a similar problem with OpenAFS 1.2.3 and Windows XP. =
When I log in with a drive letter mapped to a directory on AFS, and I =
have the user's Desktop redirected to a folder on this drive, I get a =
"there are no more files" error message when I try to right-click on the =
Desktop and select New->(Folder, Shortcut, or any of the document =
types). I believe that Explorer may be trying to peform a "FindFile" =
call on the default filename for the new file. Oddly, this does not =
happen when trying to create a new file in any other Explorer window.
I presume that the Jbuilder5 application is also trying to perform a =
"FindFile" operation to make sure filename it is trying to create =
doesn't already exist.
I wrote a short C++ program to test out the MFC CFileFind::FindFile() =
call on filenames that didn't exist. On Windows XP with OpenAFS 1.2.2b =
installed, I ran this app to find a non-existant file on the C: drive, =
and it returned an error code which indicated that the file was not =
found. When I ran it on a non-existant file on a drive mapped to AFS, it =
returned an error code which indicated that there are no more files =
(which should only be returned by the CFileFind::FindNextFile() call =
when there are no more files to be found).
I ran the same app on Windows NT 4.0 with Transarc AFS 3.6 installed, =
and I received the file not found error code both against the C: drive =
and against a drive mapped to AFS.
The following is the C++ code for the program I wrote. I compiled it =
with MS Visual C++ 6.0 with the project configured to use MFC.
Ryan Lantzer
int main()
{
CFileFind finder;
int retval;
char filename[200];
printf("Enter filename: ");
scanf("%s",filename);
BOOL bWorking =3D finder.FindFile(filename);
if (bWorking)
{
printf("Found the file %s\n",filename);
}
else
{
retval=3DGetLastError();
switch(retval)
{
case ERROR_FILE_NOT_FOUND:
printf("File not found\n");
break;
case ERROR_NO_MORE_FILES:
printf("There are no more files\n");
break;
default:
printf("Some unrecognized error occured. Returned %d\n",retval);
}
}
return 0;
}
-----Original Message-----
From: Matthew Cocker matt@cs.auckland.ac.nz=20
Sent: Mon, 15 Apr 2002 09:56:08 +1200=20
Subject: Windows client problem with Jbuilder5/Acrobat=20
Hi
A while ago I emailed the list with a problem with the windows client =
and=20
Acrobat Reader and Jbuilder (out of disk or similar errors). There was a =
bug fix on the development tree that we applied to the latest stable=20
source. This fixed the Acrobat error but Jbuilder5 will still not create =
a=20
project in AFS space. We ran a whole lot of debug utilities and the only =
differences we see when comparing creating a new project on the local C: =
drive and in AFS space is shown below.
When using JBuilder 5 to create a project in AFS we are presented with =
the=20
error "there are no more files".
The problem appears to be when JBuilder checks to see if the project =
file=20
already exists.
Using FileMon we gathered the following data:
This is what happens on a NTFS drive:
5 2:29:43 PM java.exe:1264 IRP_MJ_CREATE I:\temp\ SUCCESS Attributes: =
Any=20
Options: Open Directory
6 2:29:43 PM java.exe:1264 IRP_MJ_DIRECTORY_CONTROL I:\temp\ NO SUCH =
FILE=20
FileBothDirectoryInformation: untitled3.jpx
This is what happens on AFS:
129 2:30:16 PM java.exe:1264 IRP_MJ_CREATE G:\r\e\regg002\temp\ SUCCESS=20
Attributes: Any Options: Open Directory
130 2:30:16 PM java.exe:1264 IRP_MJ_DIRECTORY_CONTROL =
G:\r\e\regg002\temp\=20
NO MORE FILES FileBothDirectoryInformation: untitled3.jpx
NTFS returns "no such file" while AFS returns "no more files".
JBuilder appears to be expecting "no such file".
We have tried this on both AFS 1.2.2b and AFS 1.3.1 clients under =
Windows 2000.
Any suggestions
Cheers
Matt Cocker=20