#include #include #include #include #include #include #include #define EXT2_IOC_GETRTIME _IOR('f', 9, unsigned int) #define S_RECMOD 0x100000 int main(int argc, char **argv) { int fd; long flags; unsigned time; if (argc < 2) return 1; fd = open(argv[1], O_RDONLY); if (fd < 0) { printf("Cannot open: %m\n"); return 1; } if (ioctl(fd, EXT2_IOC_GETFLAGS, &flags) < 0) { printf("Cannot get flags: %m\n"); return 1; } if (ioctl(fd, EXT2_IOC_GETRTIME, &time) < 0) { printf("Cannot get rtime: %s\n", strerror(errno)); return 1; } printf("RECMOD flags: %d, time %u\n", !!(flags & S_RECMOD), time); return 0; }