qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] lseek beyond 2GB offset for qemu-arm user


From: Chanho Park
Subject: [Qemu-devel] lseek beyond 2GB offset for qemu-arm user
Date: Fri, 12 Aug 2016 01:06:00 +0900

Hi,

When I executed below source in qemu-arm user binary, It was failed
with Invalid Argument.

gcc lseek_test.c -o lseek_test -D_FILE_OFFSET_BITS=64
./lseek_test
error: Invalid argument

It seems the qemu-arm user does not support the D_FILE_OFFSET_BITS flag.
Is it a known issue or I had wrong test procedure on qemu-arm user environment?

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
        int fd, ret;
        off_t pos = 2*1024*1024*1024 + 10; // over 2G

        fd = open("large_file", O_CREAT | O_WRONLY | O_TRUNC, 0666);
        if (fd < 0){
                fprintf(stderr, "%s\n", strerror(errno));
                exit(1);
        }

        if (lseek(fd, pos, SEEK_SET) < 0) {
                //fprintf(stderr, "Failed seeking to %zu, %d\n", pos, errno);
                perror("error");
                exit(1);
        }

        write(fd, "TEST", 4);
        close(fd);

        close(fd);

        return 0;
}

-- 
Best Regards,
Chanho Park



reply via email to

[Prev in Thread] Current Thread [Next in Thread]