return NULL;
}
if ((S_IFMT & stb.st_mode) == S_IFBLK) {
- fd = open(filename, O_RDONLY);
+ fd = open(filename, O_RDONLY|O_DIRECT);
if (fd < 0) {
pr_err("failed to open bitmap file %s: %s\n",
filename, strerror(errno));
} else
st->ss->locate_bitmap(st, fd);
- ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
*stp = st;
} else {
fd = open(filename, O_RDONLY|O_DIRECT);
return 1;
}
- ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
-
lseek(fd, 0, 0);
if (read(fd, super, sizeof(*super)) != sizeof(*super)) {
no_read:
return 1;
}
- ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
-
lseek(fd, 0, 0);
if (read(fd, super, sizeof(*super)) != sizeof(*super)) {
if (devname)
return 1;
}
- ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
-
lseek(fd, 0, 0);
if (read(fd, old, sizeof(*old)) != sizeof(*old)) {
free(old);
offset *= 512;
- ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
-
if (lseek64(fd, offset, 0)< 0LL) {
if (devname)
pr_err("Cannot seek to superblock on %s: %s\n",
return -EINVAL;
}
- ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
-
-
if (lseek64(fd, sb_offset << 9, 0)< 0LL) {
if (devname)
pr_err("Cannot seek to superblock on %s: %s\n",