summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitmap.c3
-rw-r--r--super-gpt.c2
-rw-r--r--super-mbr.c4
-rw-r--r--super0.c2
-rw-r--r--super1.c3
5 files changed, 1 insertions, 13 deletions
diff --git a/bitmap.c b/bitmap.c
index 97f33ffa..028225d5 100644
--- a/bitmap.c
+++ b/bitmap.c
@@ -207,7 +207,7 @@ bitmap_info_t *bitmap_file_read(char *filename, int brief, struct supertype **st
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));
@@ -225,7 +225,6 @@ bitmap_info_t *bitmap_file_read(char *filename, int brief, struct supertype **st
} 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);
diff --git a/super-gpt.c b/super-gpt.c
index 6244657d..8f7d4d93 100644
--- a/super-gpt.c
+++ b/super-gpt.c
@@ -82,8 +82,6 @@ static int load_gpt(struct supertype *st, int fd, char *devname)
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:
diff --git a/super-mbr.c b/super-mbr.c
index 42186193..8b175e31 100644
--- a/super-mbr.c
+++ b/super-mbr.c
@@ -86,8 +86,6 @@ static int load_super_mbr(struct supertype *st, int fd, char *devname)
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)
@@ -126,8 +124,6 @@ static int store_mbr(struct supertype *st, int fd)
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);
diff --git a/super0.c b/super0.c
index ecb6b382..d54a5d7f 100644
--- a/super0.c
+++ b/super0.c
@@ -870,8 +870,6 @@ static int load_super0(struct supertype *st, int fd, char *devname)
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",
diff --git a/super1.c b/super1.c
index 3236a7e2..fe83af5b 100644
--- a/super1.c
+++ b/super1.c
@@ -1633,9 +1633,6 @@ static int load_super1(struct supertype *st, int fd, char *devname)
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",