Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Aug 2000 15:23:55 +0800 (HKT)
From:      Scott Hazen Mueller <scott@zorch.sf-bay.org>
To:        freebsd-emulation@freebsd.org
Subject:   Linuxulator, getdents and Citrix
Message-ID:  <200008160723.PAA40427@zorba.sf-bay.org>

next in thread | raw e-mail | index | archive | help
I did some research on the archives before I posted this and found only one
thing, from December, that appeared relevant.  If that fix has already been
rolled in, it didn't fix this problem.

Environment

FreeBSD zorba.sf-bay.org 4.1-STABLE FreeBSD 4.1-STABLE #0: Mon Jul 31 17:34:56 HKT 2000     scott@zorba.sf-bay.org:/export/obj/export/src/sys/ZORBA  i386

XFree86-4.0         X11R6.4/XFree86 core distribution
citrix_ica-3.0.15   Citrix(R) client for the Microsoft Windows Terminal Server
linux_base-6.1      The base set of packages needed in Linux mode
linux_lib-2.6.1     These are the libraries necessary for linux compatibility.
linuxthreads-2.1.2  POSIX pthreads implementation using rfork to generate kernel
rpm-2.5.5           The Red Hat Package Manager

System was installed with 'make buildworld; make installworld', so /modules is
up-to-date.

The problem occurs when running the Citrix ICA (ASP) client for Linux.  The
client operates correctly for the most part, allowing logins to the WinNT/
Citrix server system, displaying output correctly and the like.  However, if
I use the facility in the ICA client to export a UNIX directory into the NT
environment, it doesn't work correctly.  The mapped drive appears properly in
the folder listing in Explorer, and if I poke around I find that it's deduced
the correct amount of free space.  If I create a directory using Folder->New
in the Windows NT environment, the directory appears in the UNIX filesystem.
What does not work is that I cannot see any of the UNIX files or directories
in the exported directory, even the one I've just created.  I ran truss
against the ICA client.  This is the snippet from around the attempt to access
the UNIX directory:

linux_ioctl(0x3,0x541b,0xbfbff084)		 = 3 (0x3)
linux_ioctl(0x3,0x541b,0xbfbff084)		 = 3 (0x3)
linux_select(0xbfbff668)			 = 1 (0x1)
linux_select(0xbfbff92c)			 = 1 (0x1)
linux_sigprocmask(0x0,0xbfbff934,0xbfbff930)	 = 3 (0x3)
gettimeofday(0xbfbff924,0xbfbff91c)		 = 2 (0x2)
linux_socketcall(0xa,0xbfbff830)		 = 2 (0x2)
linux_newstat("/export/home/scott/",0xbfbff628)	 = 2 (0x2)
linux_statfs(0x810dc88,0xbfbff5e8)		 = 2 (0x2)
linux_open("/etc/mtab",0,0666)			 ERR#2 'No such file or directory'
linux_newstat("/export/home/scott",0xbfbff54c)	 = 2 (0x2)
linux_open("/export/home/scott",0,00)		 = 3 (0x3)
linux_lseek(0x5,0x0,0x0)			 = 3 (0x3)
linux_lseek(0x5,0x0,0x1)			 = 3 (0x3)
linux_getdents(0x5,0x8133768,0x0)		 = 3 (0x3)
close(5)					 = 1 (0x1)
linux_socketcall(0x9,0xbfbff584)		 = 2 (0x2)
linux_sigprocmask(0x2,0xbfbff928,0xbfbff924)	 = 3 (0x3)

As nearly as I can tell, the linux_getdents call is returning a null result
instead of a correct set of directory entries.  The failed access to /etc/mtab
seems irrelevant; I created a dummy mtab in an appropriate (Linux) format with
no change in behavior.

If this is a configuration problem, I'd certainly appreciate a pointer to the
change needed.  If this is indeed a bug, I'll be happy to test any patches.

Thanks.

                               \scott



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008160723.PAA40427>