summaryrefslogtreecommitdiffstats
path: root/super1.c
diff options
context:
space:
mode:
Diffstat (limited to 'super1.c')
-rw-r--r--super1.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/super1.c b/super1.c
index 81d29a65..4e4c7bfd 100644
--- a/super1.c
+++ b/super1.c
@@ -260,7 +260,10 @@ static int aread(struct align_fd *afd, void *buf, int len)
n = read(afd->fd, b, iosize);
if (n <= 0)
return n;
- lseek(afd->fd, len - n, 1);
+ if (lseek(afd->fd, len - n, 1) < 0) {
+ pr_err("lseek fails\n");
+ return -1;
+ }
if (n > len)
n = len;
memcpy(buf, b, n);
@@ -294,14 +297,20 @@ static int awrite(struct align_fd *afd, void *buf, int len)
n = read(afd->fd, b, iosize);
if (n <= 0)
return n;
- lseek(afd->fd, -n, 1);
+ if (lseek(afd->fd, -n, 1) < 0) {
+ pr_err("lseek fails\n");
+ return -1;
+ }
}
memcpy(b, buf, len);
n = write(afd->fd, b, iosize);
if (n <= 0)
return n;
- lseek(afd->fd, len - n, 1);
+ if (lseek(afd->fd, len - n, 1) < 0) {
+ pr_err("lseek fails\n");
+ return -1;
+ }
return len;
}
@@ -2667,7 +2676,10 @@ static int locate_bitmap1(struct supertype *st, int fd, int node_num)
}
if (mustfree)
free(sb);
- lseek64(fd, offset<<9, 0);
+ if (lseek64(fd, offset<<9, 0) < 0) {
+ pr_err("lseek fails\n");
+ ret = -1;
+ }
return ret;
}