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/