/* * regression test for bug in ext4_seek_data * (C) Dmitry Monakhov * original report https://lkml.org/lkml/2014/10/16/620 */ #define _GNU_SOURCE #define _LARGEFILE_SOURCE #define _FILE_OFFSET_BITS 64 #include #include #include #ifndef SEEK_DATA #define SEEK_DATA 3 #endif int main(int argc, char **argv) { int fd; loff_t size = 1ULL << 40; fd = open("test", O_RDWR|O_CREAT, 0777); ftruncate(fd, size); size = 1ULL << 39; /* Next line will likely spin forever :) */ llseek(fd, size, SEEK_DATA); return 0; }