mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Readd O_LARGEFILE flag for openat64 (bug 18781)
This commit is contained in:
parent
d0649b2d8e
commit
eb32b0d403
@ -1,3 +1,10 @@
|
||||
2015-08-10 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
[BZ #18781]
|
||||
* sysdeps/unix/sysv/linux/openat.c (__OPENAT) [MORE_OFLAGS]: Add
|
||||
MORE_OFLAGS to oflag.
|
||||
* io/test-lfs.c (do_test): Test openat64.
|
||||
|
||||
2015-08-10 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #18789]
|
||||
|
2
NEWS
2
NEWS
@ -10,7 +10,7 @@ Version 2.23
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
16517, 16519, 17905, 18265, 18480, 18525, 18618, 18647, 18661, 18674,
|
||||
18787, 18789.
|
||||
18781, 18787, 18789.
|
||||
|
||||
Version 2.22
|
||||
|
||||
|
@ -144,7 +144,7 @@ test_ftello (void)
|
||||
int
|
||||
do_test (int argc, char *argv[])
|
||||
{
|
||||
int ret;
|
||||
int ret, fd2;
|
||||
struct stat64 statbuf;
|
||||
|
||||
ret = lseek64 (fd, TWO_GB+100, SEEK_SET);
|
||||
@ -195,6 +195,25 @@ do_test (int argc, char *argv[])
|
||||
error (EXIT_FAILURE, 0, "stat reported size %lld instead of %lld.",
|
||||
(long long int) statbuf.st_size, (TWO_GB + 100 + 5));
|
||||
|
||||
fd2 = openat64 (AT_FDCWD, name, O_RDWR);
|
||||
if (fd2 == -1)
|
||||
{
|
||||
if (errno == ENOSYS)
|
||||
{
|
||||
/* Silently ignore this test. */
|
||||
error (0, 0, "openat64 is not supported");
|
||||
}
|
||||
else
|
||||
error (EXIT_FAILURE, errno, "openat64 failed to open big file");
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = close (fd2);
|
||||
|
||||
if (ret == -1)
|
||||
error (EXIT_FAILURE, errno, "error closing file");
|
||||
}
|
||||
|
||||
test_ftello ();
|
||||
|
||||
return 0;
|
||||
|
@ -68,6 +68,11 @@ __OPENAT (int fd, const char *file, int oflag, ...)
|
||||
va_end (arg);
|
||||
}
|
||||
|
||||
/* We have to add the O_LARGEFILE flag for openat64. */
|
||||
#ifdef MORE_OFLAGS
|
||||
oflag |= MORE_OFLAGS;
|
||||
#endif
|
||||
|
||||
return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
|
||||
}
|
||||
libc_hidden_def (__OPENAT)
|
||||
|
Loading…
Reference in New Issue
Block a user