Update:

Se pare ca ar fi FS-ul reiserfs 3.5.x. Desi atunci nu imi explic cum a 
putut fi scris/creat acest fisier in the first place...

On Wed, 23 Mar 2005, Mihai Rusu wrote:

> Salut
> 
> Nu imi dau seama de ce nu reusesc sa citesc din un anumit fisier care are 
> 2.6G mai mult de 2G de date. Sistemul are asa:
> - kernel 2.6.10
> - glibc 2.3.4
> - kernel-headers 2.6.8.1
> 
> Am incercat cu tot felul de programe, inclusiv "cat" (care stiam eu ca 
> alta data, pe alta masina a mers cu fisiere > 2G). Mi-am facut si eu un 
> program micut astfel:
> #define _LARGEFILE_SOURCE
> #define _LARGEFILE64_SOURCE
> 
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <fcntl.h>
> #include <unistd.h>
> #include <stdio.h>
> #include <errno.h>
> 
> static void printfile(const char* fname);
> 
> int main(int argc, char** argv)
> {
>     int i;
> 
>     if (argc < 2) return -1;
> 
>     for(i = 1; i < argc; ++i) {
>         printfile(argv[i]);
>     }
> 
>     return 0;
> }
> 
> static void printfile(const char* fname)
> {
>     unsigned char buffer[16384];
>     int noread;
>     int fd = open(fname, O_RDONLY | O_LARGEFILE);
> 
>     if (fd < 0) {
>         perror("lfscat:");
>         return;
>     }
> 
>     while((noread = read(fd, buffer, sizeof(buffer))) > 0) {
>         write(1, buffer, noread);
>     }
> 
>     close(fd);
> }
> 
> Compilat cu:
> $ gcc -D_FILE_OFFSET_BITS=64 lfscat.c -o lfscat
> 
> strace arata cum deschide fisierul cu O_LARGEFILE. Ultimele randuri la 
> strace inainte sa iasa sunt:
> read(3, "a\225[#f\202\203\277\231\232\2068\262\260\330\330\241\332"..., 
> 16384) = 16384
> write(1, "a\225[#f\202\203\277\231\232\2068\262\260\330\330\241\332"..., 
> 16384) = 16384
> read(3, 0xbfffb5a0, 16384)              = -1 EIO (Input/output error)
> close(3)                                = 0
> exit_group(0)                           = ?
> 
> Nu inteleg de ce primeste EIO (in dmesg nu apare nimic)...
> 
> -- 
> Mihai RUSU                                    Email: [EMAIL PROTECTED]
> GPG : http://dizzy.roedu.net/dizzy-gpg.txt    WWW: http://dizzy.roedu.net
>                        "Linux is obsolete" -- AST
> 
> --- 
> Detalii despre listele noastre de mail: http://www.lug.ro/
> 
> 

-- 
Mihai RUSU                                    Email: [EMAIL PROTECTED]
GPG : http://dizzy.roedu.net/dizzy-gpg.txt    WWW: http://dizzy.roedu.net
                       "Linux is obsolete" -- AST

--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui