[PATCH] allow getdents64() to return 64-bit d_off values

2001-06-17 Thread Chris Siebenmann
Currently getdents64() returns d_off values that have been truncated to 32 bits and then sign extended for all but the last directory entry it returns. This is because the filldir functions have been typedef'd and declared as taking an 'off_t offset' instead of a 'loff_t offset'. This patch

[PATCH] allow getdents64() to return 64-bit d_off values

2001-06-17 Thread Chris Siebenmann
Currently getdents64() returns d_off values that have been truncated to 32 bits and then sign extended for all but the last directory entry it returns. This is because the filldir functions have been typedef'd and declared as taking an 'off_t offset' instead of a 'loff_t offset'. This patch

bug: getdents64() mangles most 32bit+ d_off values (x86 only?)

2001-06-11 Thread Chris Siebenmann
The struct dirent64 that getdents64() returns is supposed to be able to return 64 bit d_off values. This is handy for, for example, NFS v3. Unfortunately the current code will mangle anything more than 31 bits, because the filldir functions (and the filldir_t prototype) all use 'off_t offset'

bug: getdents64() mangles most 32bit+ d_off values (x86 only?)

2001-06-11 Thread Chris Siebenmann
The struct dirent64 that getdents64() returns is supposed to be able to return 64 bit d_off values. This is handy for, for example, NFS v3. Unfortunately the current code will mangle anything more than 31 bits, because the filldir functions (and the filldir_t prototype) all use 'off_t offset'