Re: [Linux-ia64] IA-32 emulation issues

From: Arun Sharma <arun.sharma_at_intel.com>
Date: 2003-01-03 10:31:04
David Mosberger <davidm@napali.hpl.hp.com> writes:
> 
>   Arun> b) getdents64 - the system call succeeds, but glibc sets EOVERFLOW. We
>   Arun> may want to think about getting rid of "struct linux32_dirent" at
>   Arun> some point.
> 
>   Arun> History from glibc sources:
> 
>   Arun> /* The getdents64 syscall was introduced in 2.4.0-test7.  We test for
>   Arun> 2.4.1 for the earliest version we know the syscall is available.  */
>   Arun> #if __LINUX_KERNEL_VERSION >= 132097
>   Arun> # define __ASSUME_GETDENTS64_SYSCALL    1
>   Arun> #endif
> 
> If you muck with this, it'd probably be best to put it in fs/compat.c
> at the same time.
> 

I've done some more debugging on this and I think there is no problem
with getdents/getdents64.

The problem was with a test case that did pwrite(2) with offset = -1
and it was expecting the test to fail. However, on IA-64, the test
case passed, leaving this temp file on the disk:

$ ls -l /tmp/pwrbcneW5/pwrite_file 
-rw-r--r--    1 tester tester 4294968319 Jan  2 15:34 /tmp/pwrbcneW5/pwrite_file

Subsequently, the test harness tries to cleanup the file and does a
lstat on it, which results in EOVERFLOW.

I'll follow up separately on the other two issues I raised.

        -Arun
Received on Thu Jan 02 15:31:07 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:11 EST